2 回答

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個贊
編寫自定義BeanFactoryPostProcessor
來玩轉(zhuǎn) bean 定義。
@Bean
public BeanFactoryPostProcessor getBeanFactoryPostProcessor() {
? return beanFactory -> {
? ? for (int i = 0; i < MyBeanType.values().length; i++) {
? ? ? beanFactory.registerSingleton(MyBeanType.class.getSimpleName() + i,?
? ? ? ? new MyBean(MyBeanType.values()[i]));
? ? }
? };
}

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個贊
您可以簡單地以編程方式注冊 bean。應(yīng)該這樣做。
@Configuration
public class MyBeanConfig() implements ApplicationContextAware {
@Override
public void setApplicationContext(final ApplicationContext ctx) {
final ConfigurableListableBeanFactory beanFactory = ((ConfigurableApplicationContext) ctx).getBeanFactory();
for(final MyBeanType beanType: MyBeanType.values()) {
beanFactory.registerSingleton(MyBean.class.getCanonicalName() + "_" + beanType, new MyBean(beanType));
}
}
}
添加回答
舉報