用@Resource注解来装配属性

来源:互联网 发布:尚学堂javascript视频 编辑:程序博客网 时间:2024/05/21 01:29
使用 Field 注入(注解方式):减轻配置文件的臃肿程度。
原因:在 xml 中注入的话,如果变量很多,那会使得行数很多,很臃肿。

定义变量时加上注解:

      @Resource
      private PersonDao personDao;

或者在 setter 函数前面加上注解:

      @Resource
      public void setPersonDao(PersonDao personDao) {
            this. personDao = personDao;
     }

均可以。

这样的话,在 xml 中,只需要定义 bean 即可:

< bean id= "personDao" class = "person.dao.impl.PersonDaoBean"/>

因为被 @Resource 注解的变量或者方法,会先根据变量名或者方法名,在 xml 中找到有一致 id 的<bean>,然后其 class 属性的值即为将要注入的类。

如果没有一致 id 的<bean>,即改为了:

< bean id= "haha" class = "person.dao.impl.PersonDaoBean"/>

那么会按照类型来匹配,即:字段的类型为 PersonDao,则扫描 class 中有没有含有 PersonDao 的 bean,有的话,便匹配上了。上面这个例子就可以匹配上,将 PersonDaoBean 给了 personDao。

可以使用指定 bean 名称的注解,即

@ Resource(name= "haha")

来强制匹配相同名称的<bean>。如果匹配不到,则会报错,不会再按照类型来匹配。

阅读全文
0 0