我试图创建一个通过使用@Bean方法,而不是@Import这样导入另一个配置一个MainConfig增强:在@Bean方法创建春@Configuration豆不CGLIB
@Configuration
public class MainConfig {
@Bean
public Service service() {
return new Service(infrastructureConfig().database());
}
@Bean
public OtherService otherService() {
return new OtherService(infrastructureConfig().database());
}
@Bean
public InfrastructureConfig intrastructureConfig() {
return new InfrastructureConfig();
}
}
@Configuration
public class InfrastructureConfig {
@Bean
public Database database() {
return new Database();
}
...
}
使用时这个技巧,数据库被创建了两次,因为Spring似乎没有考虑到InfrastructureConfig上的@Configuration注解。当使用@Import时,它工作正常。
我不想使用@Import因为我想模仿我InfrastructureConfig这样的:
@Configuration
public class TestConfig extends MainConfig {
@Override
public InfrastructureConfig infrastructureConfig() {
return mock(InfrastructureConfig.class);
}
}
我缺少的东西,或者是不支持?
感谢