[SPRING] 주석을 사용하여 이름으로 봄 콩을 autowiring
SPRING주석을 사용하여 이름으로 봄 콩을 autowiring
Spring 최신 버전에서는 주석을 @Autowired로 사용하여 bean을 autowire 할 수 있습니다. bean의 타입 (또는 생성자가 적용되어 있다면 생성자)을 사용하여 bean을 autowire 할 것이다. autowire = "byName"으로 Spring의 XML 파일에 주석을 넣지 않고 bean 이름을 기반으로 @Autowired 어노테이션을 사용할 수있는 방법이 있습니까?
해결법
-
==============================
1.생성자 삽입 또는 다중 매개 변수 메소드 삽입이 필요하지 않는 한 JSR-250 @Resource를 by-name bean autowiring에 사용할 수 있습니다.
생성자 삽입 또는 다중 매개 변수 메소드 삽입이 필요하지 않는 한 JSR-250 @Resource를 by-name bean autowiring에 사용할 수 있습니다.
문서에서 :
-
==============================
2.당신이 사용할 수있는:
당신이 사용할 수있는:
@Autowired @Qualifier("beanname")
@Qualifier javadoc에 따르면
-
==============================
3.나는 이름으로 autowiring을 엉망으로 만든 bean name proxy를 사용하고 있었다. @Resource는 타입에 대해 신경 쓰지 않기 때문에 그 문제가 없습니다. 이제 봄 개발자가 추천 한 이유 중 하나를 알게되었습니다 :-) 그냥 참고하시기 바랍니다.
나는 이름으로 autowiring을 엉망으로 만든 bean name proxy를 사용하고 있었다. @Resource는 타입에 대해 신경 쓰지 않기 때문에 그 문제가 없습니다. 이제 봄 개발자가 추천 한 이유 중 하나를 알게되었습니다 :-) 그냥 참고하시기 바랍니다.
-
==============================
4.DI 컨테이너에 등록 될 bean의 이름을 정의하려면 주석 자체에 이름을 전달할 수 있습니다. @Service ( "employeeManager").
DI 컨테이너에 등록 될 bean의 이름을 정의하려면 주석 자체에 이름을 전달할 수 있습니다. @Service ( "employeeManager").
다음 코드를 사용하여 autowire를 이름으로 활성화 할 수 있습니다.
@Autowired @Qualifier("employeeManager") private EmployeeManagerService employeeManagerService;
-
==============================
5.Bean의 Java 클래스 정의에서 @Component ( "beanname") 사용
Bean의 Java 클래스 정의에서 @Component ( "beanname") 사용
autowiring하는 동안 JSR 330 사용
@ 주입 @Named (값 = "beanname")
from https://stackoverflow.com/questions/11831261/autowiring-spring-bean-by-name-using-annotation by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Hibernate LazyInitializationException을 고치기위한 방법 : 롤 컬렉션을 늦게 초기화하지 못했습니다. 프록시를 초기화 할 수 없습니다 - 세션 없음 (0) | 2019.03.02 |
---|---|
[SPRING] Android 용 Spring RestTemplate을 사용하여 인증 된 POST 요청 만들기 (0) | 2019.03.02 |
[SPRING] 스프링 부트 응용 프로그램은 docker 내부의 시동시 부팅되지 않습니다. (0) | 2019.03.02 |
[SPRING] 스프링 3으로 구성된 JPA를 얻는 방법은 무엇입니까? (0) | 2019.03.02 |
[SPRING] 봄 3 mvc와 GWT를 통합하는 경험? (0) | 2019.03.02 |