Java 기반 구성을 사용할 때 Spring이 bar()에 대한 두 번째 호출을 방지하는 방법은 무엇입니까?Spring @Configuration 캐시가 bean을 참조하는 방법
나는 시간 주석 처리를 컴파일하거나 메소드를 프록 싱하는 것이 궁금한가요?
@Configuration
public class AppConfig {
@Bean
public Foo foo() {
return new Foo(bar());
}
@Bean
public Foo foo2() {
return new Foo(bar());
}
@Bean
public Bar bar() {
return new Bar();
}
}
아, 좋은 올인원 '신비한 봄 automagic. 왜 단지 인자 주입을 사용하지 않는가? –
@ leo-the-manic'@ Autowired '주석이 달린 메소드를 사용하고 싶습니까? 때로는 선택의 여지가 없습니다. 'CustomBean'은 다른 초기화 메소드를 노출시키지 않는 제 3 자 클래스 일 수 있습니다. –
내 의견이 귀하의 대답보다는 봄 자체에 맞춰 졌다고 생각합니다. 엄격하게 Java 관점에서 코드를 보면 두 개의 다른 인스턴스를 생성하는 것처럼 보입니다. 나는 Spring이 자동으로 더 명백하고 이해하기 쉬운 것을하기보다는 당신을 위해 메소드를 프록시/캐시하기로 결정했다는 것을 싫어한다. –