2009-09-23 2 views
2

AOP를 사용하여 오브젝트 주입을 수행하고 있습니다. 오브젝트가 주입되지 않는 samllcase (testClass)로 시작하는 클래스가 있습니다.소문자로 시작하는 클래스 이름에 대해 AOP 기반 오브젝트 삽입이 실패합니다.

파일 이름 (레거시 클래스)을 대문자 (TestClass)로 시작하고 Bean 정의가 들어있는 AOP.xml 및 spring-beans.xml의 참조를 업데이트하고 의도 한대로 작동하기 시작했습니다.

내 질문은 거기에 클래스 이름을 대문자로 시작하는 봄/AOP 사양이 무엇입니까? 모든 참고 링크를 부탁드립니다.

누락 된 부분이 있습니까?

+1

나는 그런 경우에 놀랄 것입니다. 독립 실행 형 테스트 케이스를 사용하여이 동작을 재현 할 수 있습니까? – skaffman

+0

어떤 버전의 스프링입니까? –

+0

스프링 2.5.6을 사용하고 있습니다. – Nrj

답변

0

아주 길지만 주석을 사용하고 있습니까? 주석 (예 : @Component)을 사용할 때 주석에서 작성된 bean의 bean id는 소문자의 첫 번째 문자가있는 클래스 이름입니다. 어쩌면 일어나고있는 일은 AOP 처리가 이것의 역순으로 bean id에서 클래스 이름으로 갈 수 있기 때문에 클래스의 소문자 첫 글자와 함께,이 반대는 작동하지 않을 것입니다.

+0

삽입 된 객체를 포함하는 클래스에서 @Configurable 주석을 사용하고 있습니다. – Nrj

관련 문제