1
讓我們假設我有這個@Configuration
類:BeanDefinitionRegistryPostProcessor - 如何註冊@Configuration類作爲的BeanDefinition並獲取其@Beans註冊以及
@Configuration
public class SomeConfig{
@Bean
public MyBean myBean(){
return new MyBean();
}
@Bean
public Another anotherBean(){
return new AnotherBean();
}
}
我有一個實現BeanDefinitionRegistryPostProcessor
添加某些BeanDefinition
個類。在這我也想進口SomeConfig
使其豆被添加到上下文:
@Override
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException {
BeanDefinition someConfig= new RootBeanDefinition("x.y.z.SomeConfig");
registry.registerBeanDefinition("someConfig", someConfig);
}
的問題是,SomeConfig
的豆類(myBean
,anotherBean
)還沒有被添加到背景。有一個someConfig豆雖:
@Autowired
MyBean myBean ---> FAILS
@Autowired
AnotherBean anotherBean ---> FAILS
@Autowired
SomeConfig someConfig ---> OK
嗨,我跟隨這個答案並使用'PriorityOrdered',但是我仍然無法獲得在@Configuration config類中定義的bean,請向我展示完整的代碼嗎?非常感謝! –