有的时候我们在A类种通过@Configuration和@Bean声明Bean,如果想在B类中调用A类声明的@Bean的Bean该怎么办?
A类: 类加上@Configuration注解。 为方法加上@Bean注解。
@Bean("masterDataSource")
@Primary
public DataSource masterDataSource() {
logger.info("-------------------- masterDataSource init ---------------------");
DataSource dataSource = getDataSource(masterUrl, masterUserName, masterPassword);
return dataSource;
}
B类: 类加上注解
@Configuration
@AutoConfigureAfter(A.class)
表明在A配置完成之后进行配置。
通过@Autowired和@Qualifier("xxx")进行@Bean注入。
@Autowired
@Qualifier("masterDataSource")
private DataSource masterDataSource;
B类中可以通过masterDataSource进行使用了。