您的位置:首页 > 编程语言 > Java开发

用@Resource注解来装配属性

2017-09-22 23:33 197 查看
使用 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>。如果匹配不到,则会报错,不会再按照类型来匹配。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring