動(dòng)態(tài)添加類(lèi)到spring容易中,其中AppUtils.getCtx() 是指ApplicationContext 以下是知識(shí)點(diǎn):
/**
* 動(dòng)態(tài)注冊(cè)bean
* @param beanName 注冊(cè)的bean 名稱
* @param fullClass 注冊(cè)的bean 類(lèi)完整路徑
*/
public static void registeBean(String beanName,String fullClass){
// 將applicationContext轉(zhuǎn)換為ConfigurableApplicationContext
ConfigurableApplicationContext configurableApplicationContext = (ConfigurableApplicationContext) AppUtils
.getCtx();
// 獲取bean工廠并轉(zhuǎn)換為DefaultListableBeanFactory
DefaultListableBeanFactory defaultListableBeanFactory = (DefaultListableBeanFactory) configurableApplicationContext
.getBeanFactory();
BeanDefinitionBuilder userBeanDefinitionBuilder = BeanDefinitionBuilder
.genericBeanDefinition(fullClass);
defaultListableBeanFactory.registerBeanDefinition(beanName,
userBeanDefinitionBuilder.getRawBeanDefinition());
}