首页 > 其他 > 详细

@autowire 的使用

时间:2014-01-16 23:31:18      阅读:726      评论:0      收藏:0      [点我收藏+]

@Autowired的用法和作用 
 
这个注解就是spring可以自动帮你把bean里面引用的对象的setter/getter方法省略,它会自动帮你set/get。

bubuko.com,布布扣
<bean id="userDao" class="..."/> 
<bean id="userService" class="...">    
   <property name="userDao">   
      <ref bean="userDao"/>    
   </property> 
</bean>
bubuko.com,布布扣

这样你在userService里面要做一个userDao的setter/getter方法。 
但如果你用了@Autowired的话,你只需要在UserService的实现类中声明即可。 @Autowired 
private IUserDao userdao;   
Spring@Autowired注解与自动装配  
1   配置文件的方法    
 
我们编写spring 框架的代码时候。一直遵循是这样一个规则:所有在spring中注入的bean 都建议定义成私有的域变量。并且要配套写上 get 和 set方法。     
   
Boss 拥有 Office 和 Car 类型的两个属性:          
清单 3. Boss.java 

bubuko.com,布布扣
package com.baobaotao;           
public class Boss {          
    private Car car;      
    private Office office;           
    // 省略 get/setter            

    @Override     
    public String toString() {      
        return "car:" + car + "/n" + "office:" + office;         
    }   

}  
bubuko.com,布布扣

我们在 Spring 容器中将 Office 和 Car 声明为 Bean,并注入到 Boss Bean 中:下面是使用传统 XML 完成这个工作的配置文件 beans.xml:       
   
清单 4. beans.xml 将以上三个类配置成 Bean 

bubuko.com,布布扣
<?xml version="1.0" encoding="UTF-8" ?>      
<beans xmlns="http://www.springframework.org/schema/beans"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     
    xsi:schemaLocation="http://www.springframework.org/schema/beans       http://www.springframework.org/schema/beans/spring
beans-2.5.xsd">    
      
<bean id="boss" class="com.baobaotao.Boss">             
        <property name="car" ref="car"/>      
         <property name="office" ref="office" />        
 </bean>      
    <bean id="office" class="com.baobaotao.Office">              
          <property name="officeNo" value="002"/>      
    </bean>      
    <bean id="car" class="com.baobaotao.Car" scope="singleton">              <property name="brand" value=" 旗 CA72"/>        
            <property name="price" value="2000"/>      
    </bean>      
</beans>
bubuko.com,布布扣

 

当我们运行以下代码时,控制台将正确打出 boss 的信息:          
清单 5. 测试类:AnnoIoCTest.java  

@autowire 的使用

原文:http://www.cnblogs.com/yuanh/p/3522041.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!