用@Resource注解来装配属性

本文介绍如何使用Field注入减轻XML配置文件的臃肿程度。通过使用@Resource注解,可以直接在类成员变量上进行依赖注入,简化了配置过程。当变量名与bean id不一致时,可以通过指定name属性来确保正确注入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用 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>。如果匹配不到,则会报错,不会再按照类型来匹配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值