当我需要在核心模块@Configuration文件中配置一些bean,然后在顶级模块@Configuration文件中完成核心模块bean的配置时,我遇到了这种情况。 (请参阅下面的代码)
如何在facade的@Configuration文件中完成core-module的SchedulerFactoryBean的设置?
核心模块调度程序配置:
@Configuration
public class BaseSchedulerConfig {
@Bean
public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource,
JobFactory jobFactory,
@Qualifier("baseReusableJob") JobDetail baseReusableJob) {
SchedulerFactoryBean factory = new SchedulerFactoryBean();
factory.setJobDetails(baseReusableJob);
return factory;
}
}
外观模块调度程序配置:
@Configuration
@Import(BaseSchedulerConfig.class)
public class FacadeSchedulerConfig {
@Autowire
public SchedulerFactoryBean schedulerFactoryBean;
// Question: which annotation use to inject module (facade) specific jobs into SchedulerFactoryBean
public void lookup(@Qualifier("facadeSpecificJob") JobDetail facadeSpecificJob) {
schedulerFactoryBean.setJobDetails(facadeSpecificJob);
}
}
最佳答案
您正在寻找@PostConstruct
.
The JSR-250 @PostConstruct and @PreDestroy annotations are generally considered best practice for receiving lifecycle callbacks in a modern Spring application.
按预期使用@Configuration。
What is the expected behaviour of @PostConstruct in @Configuration classes?
关于java - Spring在多个@Configuration文件中配置同一个bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41144468/