Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编译java文件时的Spring注释_Spring_Spring Annotations - Fatal编程技术网

编译java文件时的Spring注释

编译java文件时的Spring注释,spring,spring-annotations,Spring,Spring Annotations,我今天开始学习spring,我有一个问题,关于编译带有注释的java文件时注释会发生什么?。 我问这个问题的原因是,当我们选择使用xml方法和注释方法时,我看到了根本的区别,我认为这就是spring的哲学。我的理解是spring说所有java类都可以是简单的pojo,所有与spring相关的配置都应该保持独立(比如xml文件) 在使用xml*开发spring应用程序的情况下,java文件不知道spring容器,并且编译到to.class中,没有任何与spring相关的依赖项 但是现在,当我们注释

我今天开始学习spring,我有一个问题,关于编译带有注释的java文件时注释会发生什么?。 我问这个问题的原因是,当我们选择使用xml方法和注释方法时,我看到了根本的区别,我认为这就是spring的哲学。我的理解是spring说所有java类都可以是简单的pojo,所有与spring相关的配置都应该保持独立(比如xml文件)

在使用xml*开发spring应用程序的情况下,java文件不知道spring容器,并且编译到to.class中,没有任何与spring相关的依赖项

但是现在,当我们注释.java文件并编译该文件时,编译后的文件现在具有所有与spring相关的依赖项,并且不再是简单的pojo类


这是正确的吗?我不确定这里是否遗漏了一些内容。

注释可以被视为类或其元素(方法、字段、局部变量…)的元数据。放置注释时,不会实现任何行为。您只需提供有关元素的附加信息

这样,负责实例化其bean的Spring就可以收集信息(另请参见)并对其进行处理


总之,您的SpringBean仍然是POJO,并且与XML方式没有区别(…从这个角度来看),因为Spring从注释中获得了它从XML中获得的信息。

注释可以被视为类或其元素(方法、字段、局部变量…)的元数据。放置注释时,不会实现任何行为。您只需提供有关元素的附加信息

这样,负责实例化其bean的Spring就可以收集信息(另请参见)并对其进行处理


总之,您的SpringBean仍然是POJO,并且与XML方式没有区别(…从这个角度来看),因为Spring从注释中获得了它从XML中获得的信息。

我认为您是对的,您的问题是合理的,我也是这样认为的

不仅编译过的代码,而且对SpringJAR的依赖也让我感到困扰。使用此注释后,生成的jar取决于spring库

根据DDD在模型中存储bean是合理的,但spring是某种基础结构层,所以我不喜欢依赖关系

即使您要使用XML,它对于很少有人使用属性也是有用的。例如,
@Required
属性,该属性可用于验证已注入链接bean。因此,我决定使用构造函数依赖项注入来省略这个属性,请参见。我在代码中完全省略了对spring的依赖


你可能会在许多你想/强迫使用的注释中找到这样的思维钩。

我认为你是对的,你的问题是有道理的,我也是这样想的

不仅编译过的代码,而且对SpringJAR的依赖也让我感到困扰。使用此注释后,生成的jar取决于spring库

根据DDD在模型中存储bean是合理的,但spring是某种基础结构层,所以我不喜欢依赖关系

即使您要使用XML,它对于很少有人使用属性也是有用的。例如,
@Required
属性,该属性可用于验证已注入链接bean。因此,我决定使用构造函数依赖项注入来省略这个属性,请参见。我在代码中完全省略了对spring的依赖


您可能可以为许多您想要/强制使用的注释找到这样的心智挂钩。

您可以仅为您的配置类使用注释,而不将它们标记为实际的bean类。在这种情况下,如果您不使用spring,您就不会加载配置类。

您可以只对配置类使用注释,而不将它们标记为实际的bean类。在这种情况下,如果不使用spring,就不会加载配置类。

Java与XML配置是首选,在大多数情况下,它们是可互换的。关注点的分离是另一个问题,您应该通过与库无关的接口公开您的类,这样它们就不会被烘焙到特定的库中(只要合适)。Java与XML配置是首选问题,在大多数情况下它们是可互换的。关注点的分离是另一个问题,您应该通过库无关接口公开您的类,这样它们就不会被烘焙到特定的库中(只要合适)。