2013-03-18 4 views
4

getBean()을 통해 스프링 빈을 얻었을 때 자바 코드에서 bean이 scope = prototype으로 정의되었다는 것을 확인하는 방법이 있습니까?스프링 빈이 싱글 톤이 아닌지 프로그래밍 방식으로 확인할 수 있습니까?

봄 설정 :

<bean class="foo.Bar" scope="prototype" /> 

자바 : SC

MyBean bean = springApplicationContext.getBean("MyBean"); 

난 그냥 그것을 두 번 인스턴스화하고 개체를 비교,하지만 난 불필요한 객체 생성을 방지하고 싶습니다 수 있습니다. 이 대답의 반대쪽과 같은 뭔가가 트릭을 수행합니다. https://stackoverflow.com/a/9125610/156477

+2

알아야 할 사항은 디자인에 문제가있는 것입니다. 당신이 정말로하려고하는 것을 우리에게 말해 준다면, 우리는 더 나은 아이디어를 제안 할 수있을 것입니다. – JeremyP

+0

내 응용 프로그램은 타사 소스에서 스프링 구성을로드 할 수 있습니다. scope = prototype이어야하는 특정 bean에 대한 온 전성 검사를 원합니다. – Kevin

답변

8

ApplicationContext에있는 API는 boolean isPrototype(String name)입니다.

관련 문제