Springではxml依存注入(set法注入、コンストラクタ注入)を使用します.

3569 ワード

1.スプリング項目の作成
Javaプロジェクトを作成して、springパッケージを追加して、srcディレクトリの下でspring-conf.xmlファイルを新規作成します.ファイル名は自分で決めてもいいし、srcの下に置かなくてもいいです.プログラムがコンパイルされた後、保証ファイルはクラスパスの下でできます.maven項目を作成するには、Pom.xmlにspring依存性を追加する必要があります.
    
      org.springframework
      spring-core
      5.1.9.RELEASE
    

    
      org.springframework
      spring-beans
      5.1.9.RELEASE
    

    
      org.springframework
      spring-context
      5.1.9.RELEASE
    

    
      org.springframework
      spring-expression
      5.1.9.RELEASE
    
2.編纂類
2.1.実体類
public class Student {

    private int id;
    private String name;

    public Student() {
    }

    public Student(int id, String name) {
        this.id = id;
        this.name = name;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                '}';
    }

//    set、get  
}

2.2 DAO層
  • IDaoは学生情報を得る方法を定義しています.
    public interface IDao {
    
    //           
        public String getStuInfo();
    }
    
  • DaoImplはIDaoインターフェースを実現し、DaoImplはStudentクラス
  • を使用する.
    public class DaoImpl implements IDao {
    
        private Student student;
    
        public DaoImpl() {
        }
    
        public DaoImpl(Student student) {
            this.student = student;
        }
    
        @Override
        public String getStuInfo() {
            return student.toString();
        }
    
        public Student getStudent() {
            return student;
        }
    
        public void setStudent(Student student) {
            this.student = student;
        }
    }
    
    3.プロファイルを作成するspring-conf.xml
  • setメソッド注入
  • propertyタグ、name値はDaoImplのset Student()メソッド名のstudent(springは反射によって呼び出され、setメソッドであり、直接的にメンバ変数を賦与するのではない)に対応し、refはstudent beanに向けられ、refの値は配置student beanのidである.
    setメソッドを使って注入します.まず無参画コンストラクタを実行してからset方法を実行します.
    
        
        
    
    
    
        
    
    
    
  • コンストラクタ注入
  • constructor-argタグ、ビルダーを呼び出してメンバー変数の割り当てを行います.
    コンストラクタを使って注入し、コンストラクタを実行します.
    
        
        
    
    
    
        
    
    
  • 手動組立と自動組立
  • 非自動組立(property手動割当): 自動組立(自動割当値、カスタムタイプのメンバー変数のみに有効)::setXxxメソッドの名前(xxx)をidとしてこのコンポーネントを探して、そのために値を付けます.見つけられなかったらnull を組み立てる:メンバー変数のタイプでコンポーネントを探して、複数を見つけたらエラーが発生します.見つけられなかったらnull を組み立てる:まず、参画パラメータの種類によって組み立てることに成功したら、デフォルトの割り当ては直接組立nullではなく、もしタイプによって複数を見つけたら、パラメータの名前をidとして組み立て続けます.誤報はしない