Spring 자동 조립 의 이의 성 실례 분석
1.Spring 의 자동 조립(@Autowired)으로 Bean 응용 을 구조 적 매개 변수 와 속성 에 주입 할 수 있다 는 것 을 알 고 있 습 니 다.단,하나의 bean 이 필요 한 결과 에 일치 할 때 만 자동 조립 이 유효 합 니 다.만약 여러 개의 bean 이 같은 결 과 를 일치 시 키 면 이러한 유의 성 은 Spring 자동 조립 속성,구조 적 매개 변수 나 방법 적 매개 변 수 를 방해 할 수 있 습 니 다.
막말 로 우리 가 달콤 한 인터페이스(Dessert)안에 맛 있 는 방법(good)이 있 는 것 처럼 우리 가 하나의 과자 만 이 인 터 페 이 스 를 실현 할 때 Spring 용 기 는 과 자 를 선택 하여 조립 하지만 또 하나의 케이크 가 인 터 페 이 스 를 실현 할 때 Spring 은 어떤 실현 류 를 선택해 서 조립 해 야 할 지 모른다.코드 상!
(1)달콤 한 조각의 인터페이스
package jinjin;
/**
*
* @author oubai
*
*/
public interface Dessert {
public void good();
}
(2)과자 가 이 인 터 페 이 스 를 실현 한다.
package jinjin;
import org.springframework.stereotype.Component;
/**
* @author oubai
*
*/
@Component
public class Cookies implements Dessert{
@Override
public void good() {
System.out.println(" !");
}
}
(3)테스트 클래스,@Autowired 로 자동 조립
package jinjin;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
* @author oubai
*
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=ConfigTest.class)
public class CommTest {
@Autowired
private Dessert dessert;
@Test
public void test(){
dessert.good();
}
}
(4)자바 설정 클래스
package jinjin;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
/**
* @author oubai
* java
*/
@Configuration
@ComponentScan
public class ConfigTest {
}
실행 결과(5)케이크 류 를 하나 더 넣 어 인 터 페 이 스 를 실현 한다.
package jinjin;
import org.springframework.stereotype.Component;
/**
* @author oubai
*
*/
@Component
public class Cake implements Dessert {
@Override
public void good() {
System.out.println(" !");
}
}
(6)계속 실행 하여 결 과 를 본다.NoUniqueBean Definition Exception 의 이상 을 신 고 했 습 니 다.이것 이 바로 자동 조립 의 유의 성 이다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.