Springではxml依存注入(set法注入、コンストラクタ注入)を使用します.
3569 ワード
1.スプリング項目の作成
Javaプロジェクトを作成して、springパッケージを追加して、srcディレクトリの下でspring-conf.xmlファイルを新規作成します.ファイル名は自分で決めてもいいし、srcの下に置かなくてもいいです.プログラムがコンパイルされた後、保証ファイルはクラスパスの下でできます.maven項目を作成するには、Pom.xmlにspring依存性を追加する必要があります.
2.1.実体類 IDaoは学生情報を得る方法を定義しています. DaoImplはIDaoインターフェースを実現し、DaoImplはStudentクラス を使用する. setメソッド注入
setメソッドを使って注入します.まず無参画コンストラクタを実行してからset方法を実行します.コンストラクタ注入
コンストラクタを使って注入し、コンストラクタを実行します.手動組立と自動組立 非自動組立(property手動割当):
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層public interface IDao {
//
public String getStuInfo();
}
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.xmlproperty
タグ、name値はDaoImplのset Student()メソッド名のstudent(springは反射によって呼び出され、setメソッドであり、直接的にメンバ変数を賦与するのではない)に対応し、refはstudent beanに向けられ、refの値は配置student beanのidである.setメソッドを使って注入します.まず無参画コンストラクタを実行してからset方法を実行します.
constructor-arg
タグ、ビルダーを呼び出してメンバー変数の割り当てを行います.コンストラクタを使って注入し、コンストラクタを実行します.
自動組立(自動割当値、カスタムタイプのメンバー変数のみに有効):
:setXxxメソッドの名前(xxx)をidとしてこのコンポーネントを探して、そのために値を付けます.見つけられなかったらnull
を組み立てる:メンバー変数のタイプでコンポーネントを探して、複数を見つけたらエラーが発生します.見つけられなかったらnull
を組み立てる:まず、参画パラメータの種類によって組み立てることに成功したら、デフォルトの割り当ては直接組立nullではなく、もしタイプによって複数を見つけたら、パラメータの名前をidとして組み立て続けます.誤報はしない