Skip to content
Discussion options

You must be logged in to vote

일반 메소드에 @Bean 애노테이션을 붙이면 스프링 컨테이너가 해당 빈에 대한 요청이 있을 때마다 이미 생성한 인스턴스를 반환해주면서 프록시가 적용되어 싱글톤으로 관리하는 방식인데요
static 메소드는 인스턴스가 없어도 호출할 수 있고 특정 인스턴스에 속하지 않기 때문에 스프링 컨테이너가 빈을 관리하는 방식인 인스턴스 레벨에서 처리하는 라이프사이클 관리, 의존성 주입 및 프록시 적용이 어렵습니다.

⭐ 결론 !! 프록시가 적용되어야 컨테이너에 동일한 빈이 존재하는지 확인하는데 static 메소드는 프록시 적용 자체가 안 되기 때문에 싱글톤을 보장받지 못한다고 이해했습니다

사실 저도 이걸 질문하고 싶어서 찾아보다가 이 답변을 보고 이해했습니다..
참고한 답변

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@YuDeokRin
Comment options

Answer selected by Pracrobo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3 participants