[SPRING] 같은 클래스의 두 가지 다른 콩을 autowiring
SPRING같은 클래스의 두 가지 다른 콩을 autowiring
연결 풀을 래핑하는 클래스가 있으면 클래스는 아래와 같이 스프링 구성에서 연결 세부 정보를 가져옵니다.
<bean id="jedisConnector" class="com.legolas.jedis.JedisConnector" init-method="init" destroy-method="destroy">
<property name="host" value="${jedis.host}" />
<property name="port" value="${jedis.port}" />
</bean>
이 bean은 나중에 서비스에서 사용되며 @Autowire 어노테이션으로 autowired됩니다.
내 질문은, 어떻게이 콩을 복제하고 다른 연결 세부 정보를 제공하고 다음 @ 서비스에서 그것을 입력 할 수 있습니다. 의미 위에 이외에 나는 가질 것이다 :
<bean id="jedisConnectorPOD" class="com.legolas.jedis.JedisConnector" init-method="init" destroy-method="destroy">
<property name="host" value="${jedis.pod.host}" />
<property name="port" value="${jedis.pod.port}" />
</bean>
및 서비스 :
@Autowired //bean of id jedisConnector
JedisConnector beanA;
@Autowired //bean of id jedisConnectorPOD
JedisConnector beanB;
해결법
-
==============================
1.@Autowired와 @Qualifier를 결합 할 수 있지만이 경우 @Autowired 대신 @Resource를 사용하는 것이 좋습니다.
@Autowired와 @Qualifier를 결합 할 수 있지만이 경우 @Autowired 대신 @Resource를 사용하는 것이 좋습니다.
@Resource(name="jedisConnector") JedisConnector beanA; @Resource(name="jedisConnectorPOD") JedisConnector beanB;
또는 더 간단하게 :
@Resource JedisConnector jedisConnector; @Resource JedisConnector jedisConnectorPOD;
-
==============================
2.
@Autowired @Qualifier("jedisConnector") JedisConnector beanA; @Autowired @Qualifier("jedisConnectorPOD") JedisConnector beanB;
from https://stackoverflow.com/questions/4462466/autowiring-two-different-beans-of-same-class by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 경고 : 폐기 콜백을 등록 할 수 없습니다. (0) | 2019.03.16 |
---|---|
[SPRING] Spring 부트 테스트가 실패합니다. ServletWebServerFactory 빈이 없어서 ServletWebServerApplicationContext를 시작할 수 없습니다. (0) | 2019.03.16 |
[SPRING] 포트 80에서 Spring Boot 애플리케이션을 실행하려면 어떻게해야합니까? (0) | 2019.03.15 |
[SPRING] Gradle을 사용하여 프로젝트에 AngularJs를 포함 할 수 있습니까? (0) | 2019.03.15 |
[SPRING] 사양 및 Pageable을 함께 사용하는 경우 카운트를 비활성화하는 방법은 무엇입니까? (0) | 2019.03.15 |