有的时候我们在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进行使用了。