나는이 문제에 익숙하다. bean override동일한 ID를 가진 콩을 피하는 방법?
2 콩은 동일하지만 패키지가 다르다. 콩 A가 콩 A를 무시했습니다. 나는 그 원인을 찾기 위해 많은 시간을 보냈습니다.
그래서 사건을 방지하고 싶습니다. 내 요청은 봄 예외를 던져 다음 종료 같은 경우 발생하는 경우 초기화 프로세스입니다.
나는이 문제에 익숙하다. bean override동일한 ID를 가진 콩을 피하는 방법?
2 콩은 동일하지만 패키지가 다르다. 콩 A가 콩 A를 무시했습니다. 나는 그 원인을 찾기 위해 많은 시간을 보냈습니다.
그래서 사건을 방지하고 싶습니다. 내 요청은 봄 예외를 던져 다음 종료 같은 경우 발생하는 경우 초기화 프로세스입니다.
@Inject
(@Autowire
)은 id가 아닌 유형별로 지정할 수 있습니다. Autowiring collaborators을 읽으십시오.
스프링은 하나의 컨텍스트에서 동일한 ID를 가진 두 개의 빈을 가질 수 없습니다. 따라서 솔루션은 분명합니다. 다른 ID를 사용하십시오. 당신이 XML 컨텍스트를 사용하는 경우
이 있어야한다 :
<bean id="foo" class="what.ever.foo.Class" />
<bean id="bar" class="what.ever.package1.Class" />
당신이 주석 및 구성 요소 스캔 사용하는 경우
@Bean
public Foo foo() {
return new Foo();
}
@Bean
public Bar bar() {
return new Bar();
}
:
@Component("foo")
@Component("bar")
주석을 기반으로 상황에 맞는 다른 방법 이름을 사용을
언뜻보기에 제목을 "같은 이드를 가진 곰을 피하는 방법"으로 잘못 읽었습니다. 아마도 무의미한 :-) –
빈 이름과 함께 패키지 이름을 사용하지 않는 이유는 무엇입니까? – SMA
'@ 한정자 '는 .. – z21