Autowired的使用

我们编写spring 框架的代码时候。一直遵循是这样一个规则:所有在spring中注入的bean都建议定义成私有的域变量。并且要配套写上 get 和set方法。虽然可以通过eclipse等工具来自动生成。但是还是会引起程序阅读性上的不便。那么既然注解这么强大。是否可以也把他精简掉呢?当 然可以。

这个标签就是@Autowired,通过 @Autowired的使用来消除 set ,get方法

Spring 2.5 引入了 @Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作


要实现我们要精简程序的目的。需要这样来处理:

1.在applicationContext.xml中加入:

<wbr><wbr><wbr>&lt;!-- 该 BeanPostProcessor 将自动对标注 @Autowired 的 Bean进行注入 --&gt;<wbr><wbr><br><wbr><wbr><wbr>&lt;beanclass="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanP<wbr>ostProcessor"/&gt;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

2.* 修改在原来注入spirng容器中的bean的方法。

<wbr><wbr><wbr><wbr>在域变量上加上标签@Autowired,并且去掉 相应的get 和set方法</wbr></wbr></wbr></wbr>

3* 在applicatonContext.xml中 把原来 引用的<porpery>标签也去掉。

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>&lt;bean id="CountryService"class="com.firemax.test.service.CountryService"&gt;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>&lt;property name="alcorTCountriesDAO"ref="AlcorTCountriesDAO" /&gt;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>&lt;property name="alcorTProvincesDAO"ref="AlcorTProvincesDAO" /&gt;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>&lt;property name="alcorTCitysDAO" ref="AlcorTCitysDAO"/&gt;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>&lt;property name="alcotTDistrictDAO"ref="AlcotTDistrictDAO" /&gt;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>&lt;/bean&gt;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

修改成

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>&lt;bean id="CountryService"class="com.firemax.test.service.CountryService"&gt;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>&lt;/bean&gt;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

当然,我们也可以在构造函数上使用@Auwowired 注解 。如果构造函数有两个入参,分别是 bean1 和bean2,@Autowired 将分别寻找和它们类型匹配的 Bean,将它们作为 CountryService (Bean1bean1 ,Bean2 bean2) 的入参来创建 CountryService Bean。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值