![](/img/trans.png)
[英]How PropertiesLoaderUtils.loadProperties mapped to Configuration POJO using Spring at Runtime?
[英]Turn POJO to @Configuration programmatically Spring
給定一個班級:
class MyConfiguration {
@Bean
String bean() {
return new String();
}
}
您可能會注意到它沒有@Configuration
批注。
如何使其具有@Configuration
注解的行為,但不添加它?
@Bean
注釋不應該在工作的Lite Mode
, https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/Bean.html
就像是:
@Configuration
class MainConfiguration {
@Bean
MyConfiguration myConfiguration() {
MyConfiguration myConfiguration = do_some_spring_magic();
// myConfiguration behaving like it's having @Configuration here
return myConfiguration;
}
}
我不明白您要在此處實現的用例是什么。.但是,如果您正在尋找以編程方式將bean注冊到Spring Context中的方法,則可以按照以下步驟進行操作。
@Configuration
public class MyBeanRegisterFactory implements BeanDefinitionRegistryPostProcessor, PriorityOrdered {
@Override
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry beanRegistry) throws BeansException {
//depending on some condition you can do the below line
beanRegistry.registerBeanDefinition("myBeanClass", new RootBeanDefinition("com.mybean.MyBeanClass"));
}
@Override
public int getOrder() {
return Ordered.HIGHEST_PRECEDENCE;
}
}
在您的情況下,類MyConfiguration內的Bean定義可以如下編程地注冊到spring上下文中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.