Пусть у меня есть следующий Spring конфигурацию контекста:Использования @Bean аннотации
@Configuration
public class Configuration {
@Bean
public A a() {
return new A(b());
}
public B b() {
return new B();
}
}
Если один аннотировать b()
с @Bean
, если единственным местом, где необходим B
экземпляра находится в пределах a()
для A
строительства экземпляра?
Ваша текущая настройка не делает 'b' экземпляр родника управляемый компонент. Поэтому, если вы ожидаете, что такие вещи, как '@ PostConstruct' и т. Д. На этом компоненте, будут работать просто, поскольку весна не справляется с этим. Затем вы уверены, что это единственный экземпляр «B», который вам когда-либо понадобится, или, может быть, вам это нужно в нескольких местах, и что? –
Почему бы просто не создать экземпляр 'B' внутри' A'? Или вы можете сделать 'B' bean, а затем объявить поле внутри' A', которое является '@ Autowired'. –
@ m-deinum Я заметил [здесь] (http://docs.spring.io/spring-kafka/docs/1.0.0.BUILD-SNAPSHOT/reference/html/_reference.html#__kafkalistener_annotation), который, например, метод 'consumerConfigs()' помечен как '@ Bean' ... Возможно, он должен использоваться и в другом месте. – Aliaxander