【问题标题】:What is metadata programming to Spring?什么是 Spring 的元数据编程?
【发布时间】:2012-02-13 18:02:00
【问题描述】:

什么是春季元数据。什么是 Spring 的元数据编程。 Spring 的元数据如何支持向我们的源代码添加注释。

【问题讨论】:

    标签: java spring spring-mvc metaprogramming spring-aop


    【解决方案1】:

    元数据是描述您的 Spring bean 及其方法的数据。可以通过多种方式添加元数据:

    • xml - <bean>
    • 注解(@Service@Component@Lazy@Async 等)
    • javaconfig - 再次注解,但旨在提供更大的灵活性 - @Configuration@Bean

    我不知道“元数据编程”是什么意思,但很可能是使用了上面的注解和xml。

    【讨论】:

    • 如果在一个 bean 上同时使用 xml 和 javaconfig 来描述 bean,将选择哪种配置以及为什么?
    • 这是一个更棘手的问题。没有一个通用的食谱,这是一个偏好。我有一些个人规则,但它们不被接受
    【解决方案2】:

    元数据是该术语最一般意义上的有关数据的数据。元数据对 Spring 的意义是向 Spring 容器或 Spring 相关库描述对象模型和 bean 的数据。元数据不仅限于 Spring。 Java 中注释或 XML 的使用一直与元数据有关。本质上,它使某些库或框架的用户能够指定他们希望其对象在框架中的行为方式。

    元数据编程就像元数据一样含糊不清。元数据端有两端。将元数据描述放置在配置文件中或向其代码添加注释的用户,以及解释这些配置以执行某些算法的代码的作者。元数据编程就是编写以某种方式利用元数据来控制算法行为方式的算法。

    为什么我们使用元数据而不是编码它?因为它使我们能够编写不需要太多技能来配置或编写的更高级别的软件,并且比我们尝试使用代码来实现更多的代码重用。元数据的用户并不是真正意义上的编程。他们正在配置算法。

    【讨论】:

    • 这不会让程序员感到困惑吗?他应该在哪里寻找 bean 配置,他应该查看代码还是配置文件,这只会造成更多的混乱,不是吗?
    • 在您的程序中包含一个 web.xml,我们已经做了 15 年。我们从事元数据编程已经有很长一段时间了,并且随着时间的推移而增长,因为它很有用并且减少了我们编写的代码的大小。如果您想包含 HTML、SGML、资源文件、ui 布局等内容,您甚至可以争论更长的时间。Spring Bean 配置文件名大多是标准化的,因此任何了解 Spring 的人都知道在哪里可以找到该文件。 Spring bean 配置只定义对象及其依赖项。之后它对输入的响应就是你的代码。
    猜你喜欢
    • 2010-11-02
    • 2010-11-07
    • 2020-12-16
    • 2015-11-18
    • 2018-08-05
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多