@autowire 的使用

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

@autowire 的使用
<bean id="userDao" class="..."/> 
<bean id="userService" class="...">    
   <property name="userDao">   
      <ref bean="userDao"/>    
   </property> 
</bean>
@autowire 的使用

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

@autowire 的使用
package com.baobaotao;           
public class Boss {          
    private Car car;      
    private Office office;           
    // 省略 get/setter            

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

}  
@autowire 的使用

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

@autowire 的使用
<?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>
@autowire 的使用

 

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

@autowire 的使用

上一篇:eclipse中svn检出项目,项目名上带有红色感叹号


下一篇:微软又又又因为Win10升级问题 被用户告上了法庭