Spring基于Xml注入bean的几种方式

spring中的依赖注入

依赖注入: Dependency Injection
IOC的作用: 降低程序间的耦合(依赖关系)

依赖关系的管理: 以后都交给spring来维护,在当前类需要用到其他类的对象,由spring为我们提供,
我们只需要在配置文 件中说明
依赖关系的维护: 就称之为依赖注入。

能注入的数据:有三类

  • 基本类型和String
  • 其他bean类型(在配置文件中或者注解配置过的bean)
  • 复杂类型/集合类型

注入的方式:有三种

  1. 第一种:使用构造函数提供
  2. 第一种:使用构造函数提供
  3. 第三种:使用注解提供(这里先不说,后期补充)

一.构造函数注入

public class AccountServiceImpl implements IAccountService {

    //如果是经常变化的数据,并不适用于注入的方式
    private String name;
    private Integer age;
    private Date birthday;

    public AccountServiceImpl(String name,Integer age,Date birthday){
        this.name = name;
        this.age = age;
        this.birthday = birthday;
    }

    public void  saveAccount(){
        System.out.println("service中的saveAccount方法执行了。。。"+name+","+age+","+birthday);
    }


}
   
    
        
        
        
    

    
    

二,set方法注入

public class AccountServiceImpl2 implements IAccountService {

    //如果是经常变化的数据,并不适用于注入的方式
    private String name;
    private Integer age;
    private Date birthday;

    public void setName(String name) {
        this.name = name;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
    public void  saveAccount(){
        System.out.println("service中的saveAccount方法执行了。。。"+name+","+age+","+birthday);
    }

}

 
    

    
    
        
        
        
    

三,注入一些复杂的数据

public class AccountServiceImpl3 implements IAccountService {

    private String[] myStrs;
    private List myList;
    private Set mySet;
    private Map myMap;
    private Properties myProps;
    public void setMyStrs(String[] myStrs) {
        this.myStrs = myStrs;
    }
    public void setMyList(List myList) {
        this.myList = myList;
    }
    public void setMySet(Set mySet) {
        this.mySet = mySet;
    }
    public void setMyMap(Map myMap) {
        this.myMap = myMap;
    }
    public void setMyProps(Properties myProps) {
        this.myProps = myProps;
    }
    public void  saveAccount(){
        System.out.println(Arrays.toString(myStrs));
        System.out.println(myList);
        System.out.println(mySet);
        System.out.println(myMap);
        System.out.println(myProps);
    }
    
}


    
        
            
                AAA
                BBB
                CCC
            
        

        
            
                AAA
                BBB
                CCC
            
        

        
            
                AAA
                BBB
                CCC
            
        

        
            
                ccc
                ddd
            
        

        
            
                
                
                    BBB
                
            
        
    

你可能感兴趣的:(Spring基于Xml注入bean的几种方式)