springのioc依存注入の3つの方法(xml方式)

4452 ワード

一般的な依存注入法は3つあります.構造関数注入、set法注入、P名空間注入データを使用し、また注入集合の属性について説明します.
まず一番よく使う注入方法を教えてください.
一、セット方法注入
名前の通り、クラスでメンバーを注入するset方法を提供します.具体的なコードは以下の通りです.
public class AccountServiceImpl{

    private String name;
    private Date birthday;

    public void setName(String name) {
        this.name = name;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
} 
xmlの設定
     :
   property 
  :    
	name:      set            
	ref:         bean        
	value:              string      
	     ,        。 

 
	 
  	 

  
二、集合属性注入
名前の通り、クラスの集合メンバーに値を送ることです.セット方法で注入する方法です.変数のデータタイプは全部集合します.ここでは注入配列,List,Set,Map,Proptiesを紹介します.具体的なコードは以下の通りです.
public class AccountServiceImpl{

    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;
    }
    
} 
xmlの設定
       List    :   array,list,set
             Map     map,entry,props,prop
                     ,      ,         
             




    
        AAA
        BBB
    



    
        AAA
        BBB
    



    
        AAA
        BBB
    



    
        aaa
        bbb
    



    
        
        
            bbb
        
    

 
三、構造関数注入
名前の通り、クラスの中の構造関数を使って、メンバー変数に値を付けます.なお、賦の操作は私達が自分でやったのではなく、配置によって、springフレームを注入してくれます.具体的なコードは以下の通りです.
public class AccountServiceImpl{

    private String name;
    private Date birthday;

    public void setName(String name) {
        this.name = name;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
} 
xmlの設定
          ,  service       
    :
                        。  
          :   constructor-arg    
    :
     index:                  
     type:                
     name:              
               
    =======           ,            ==============  
        
    value:              String        
    ref:         bean   ,    ,               bean  
    
                                                                                     
	
	


 
四、P名前を使って空間注入データ
この方式は、xmlにp名前空間を導入し、p:propertyNameを用いてデータを注入することによって、その本質は依然としてクラスのsetメソッドを呼び出して注入機能を実現する.
public class AccountServiceImpl{

    private String name;
    private Date birthday;

    public void setName(String name) {
        this.name = name;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
} 
xml設定
 
    
 
setはデータを注入する方法がよく使われていますが、iocや依存注入については分かりません.良い文章を無理に押して、物語を読むと、依存注入をどのように説明するのが一番簡単ですか?依存注入はどのように結合を実現しますか?