>  기사  >  Java  >  스프링 프레임워크 학습(4) 자동 조립

스프링 프레임워크 학습(4) 자동 조립

黄舟
黄舟원래의
2016-12-29 13:15:301271검색

Set 주입과 생성자 주입은 구성을 할 때 가끔 번거로울 때가 있습니다. 따라서 개발 효율성을 높이기 위해 프레임워크에서는 자동 조립 기능을 제공하고 구성을 단순화합니다. Spring 프레임워크는 기본적으로 자동 어셈블리를 지원하지 않습니다. 자동 어셈블리를 사용하려면 스프링 구성 파일에서 60e23eb984d18edbb092da6b8f295aba 태그의 autowire 속성을 수정해야 합니다.
자동 어셈블리 속성에는 6개의 선택적 값이 있습니다. 각각 다른 의미를 나타냅니다.

1, byName
Spring 환경에서 대상 객체를 얻을 때 대상 객체의 속성은 전체 Spring 환경에서 60e23eb984d18edbb092da6b8f295aba 태그의 id 속성 값을 검색합니다. 이름. 동일한 경우 이 개체를 가져와 연결을 구현합니다.
전체 Spring 환경: 모든 Spring 구성 파일에서 검색을 의미하며 ID를 반복할 수 없습니다.

2, byType
Spring 환경에서 대상 객체를 얻을 때 대상 객체의 속성은 전체 Spring 환경에서 60e23eb984d18edbb092da6b8f295aba 태그의 클래스 속성 값을 검색합니다. 유형. 동일한 경우 이 개체를 가져와 연결을 구현합니다.

단점: 동일한 유형의 Bean 객체가 여러 개 있으면 오류가 발생합니다.
속성이 단일 데이터 유형인 경우 관련 객체가 여러 개 발견되면 오류가 발생합니다.
속성이 배열 또는 컬렉션(일반) 유형인 경우 관련 개체가 여러 개 발견되면 예외가 발생하지 않습니다.

3. 생성자
는 생성자 메서드를 사용하여 개체 주입을 완료합니다. 실제로는 byType을 사용하는 것과 동일하게 생성자 메서드의 매개변수 유형을 기반으로 개체 검색도 수행합니다.

4, 자동 감지
자동 선택: 객체에 매개변수 없는 생성 방법이 없으면 생성자의 자동 어셈블리 방법이 생성 주입을 위해 자동으로 선택됩니다. 개체에 매개 변수가 없는 생성자가 포함된 경우 byType 자동 어셈블리 메서드가 setter 주입을 위해 자동으로 선택됩니다.
5, no
는 자동 조립 기능을 지원하지 않습니다.

6, default
는 상위 태그의 자동 조립 값을 기본으로 사용한다는 의미입니다. 구성 파일이 여러 개인 경우 각 구성 파일의 자동 조립 방법은 독립적입니다.

구성 파일이 여러 개인 경우 구성 파일을 로드하는 방법은 다음과 같습니다.
1) 하위 구성 파일을 포함하도록 전체 구성 파일을 지정한 후 전체 구성 파일만 로드할 수 있습니다. . 전체 구성 파일 applicationContext.xml에서 가져오기 태그를 사용하여 하위 파일 패키지 ec4b2f85bd672b7d99fadc2a2106d72c




코드:

ApplicationContextac= newClassPathXmlApplicationContext("applicationContext.xml");


2) 별표를 사용하면 여러 파일을 일치시켜 로드할 수 있으며, 파일 이름은 규칙을 준수해야 합니다. (권장)

//配置文件的名称
applicationContext.xml
applicationContext-action.xml
applicationContext-service.xml
applicationContext-dao.xml
 
ApplicationContextac =newClassPathXmlApplicationContext("applicationContext*.xml");

3) 배열을 매개변수로 사용하여 여러 구성 파일을 한 번에 로드할 수 있습니다

String[]files={"applicationContext.xml","applicationContext-test.xml"};               
ApplicationContextac = newClassPathXmlApplicationContext(files);


참고: 자동 조립 기능과 수동 조립을 동시에 사용할 경우 자동 조립이 작동하지 않습니다.

위 내용은 Spring Framework 학습(4) 자동조립 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.