java - @Resource 与 xml 中的 Property 参数

标签 java spring spring-annotations

我最近开始使用Spring框架。我很困惑何时使用 @Resource vs xml 文件中的属性参数(传统方式)。设计新注释时考虑了哪些特殊的实际用例?您建议完全转向使用 Spring Annotations 吗?

最佳答案

嗯,@Resource@Autowired 之间的区别已经被很多帖子很好地解释了,你也可以从我的 blog 中找到。

基本上,他们指定了在注入(inject)之前搜索 bean 的不同方式。
@Autowired 默认先按类型组装,再按名称组装,而 @Resource 默认先按名称组装,然后再按类型组装。它们也属于不同的jar。

<小时/>

关于xml文件中的属性参数,它是指定bean中字段值的方式。假设你想创建一个名为 SamplePerson 的 bean,它是一个 Person 类的对象,你需要在 xml 中做的是告诉 Spring该对象中字段的值是多少,就像:

Person samplePerson = new Person();
samplePerson.setAge(23);
samplePerson.setName("Rugal");

创建这样一个bean后,Spring上下文会将这个对象放入其容器中以供以后使用。现在您可以使用 @Autowired@Resource 将此 samplePerson bean 注入(inject)到需要的地方

@Autowired
private Person samplePerson;

然后您会注意到这个 person 对象将具有与您的 xml 定义相对应的属性。

<小时/>

但实际上在 XML 下编码很乏味,我宁愿用 Java 风格进行所有配置,尽管有人可能会认为它不够动态。
是的,您完全可以将所有内容从 XML 配置切换到 Java 配置。您可以从 github 获取我的 sample .
如果您是 Spring 新手,我会鼓励您使用我的 archetype 。您将获得完全集成的代码库。

关于java - @Resource 与 xml 中的 Property 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36556446/

相关文章:

java - 如何使用 selenium 在表格内找到工具提示 <a href>tooltip</a> 值

java - Spring Data Redis 和 Spring Security Data 依赖冲突

java - Camel 路线 : read xml into pojo and write it back into xml file

java - Spring Data JPA 规范 groupBy

java - 如何使用 Spring boot JPA 配置动态多数据源

java - 为什么我的 'userID' 初始化为 0 而不是从 PHP 发送的内容?

java - 仅当从某个类调用该方法时才拦截该方法?

java - 使用注释配置引用多个bean

java - Tomcat 7 的 Spring 配置类处理器错误

java - Kotlin 方法上使用的 Java 注释的 getAnnotation 返回 null