校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > spring動態bean注冊示例分享

spring動態bean注冊示例分享

熱門標簽:電銷機器人是有一些什么技術 杭州ai語音電銷機器人功能 電銷機器人好賣么 四川保險智能外呼系統商家 杭州語音電銷機器人軟件 商洛電銷 地圖標注線上教程 高德地圖標注樣式 北票市地圖標注

1.在一些特殊的場景中需要動態向spring注冊bean
2.spring版本2.5.6

復制代碼 代碼如下:

public class ServiceServiceImpl implements ServiceService, ApplicationContextAware {

 @Override
 public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
   throws BeansException {
  this.context = applicationContext;
 }

 public void addBeanService(Service service) throws BVSException {
  if (!context.containsBean(service.getServiceName())) {
   Class?> serviceClass = getServiceClass(service.getClassName());
   BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder.genericBeanDefinition(serviceClass);
   beanDefinitionBuilder.addPropertyValue("servicename", service.getServiceName());
   registerBean(service.getServiceName(), beanDefinitionBuilder.getRawBeanDefinition());
  }

 }

 /**
  * @desc 向spring容器注冊bean
  * @param beanName
  * @param beanDefinition
  */
 private void registerBean(String beanName, BeanDefinition beanDefinition) {
  ConfigurableApplicationContext configurableApplicationContext = (ConfigurableApplicationContext) context;
  BeanDefinitionRegistry beanDefinitonRegistry = (BeanDefinitionRegistry) configurableApplicationContext
    .getBeanFactory();
  beanDefinitonRegistry.registerBeanDefinition(beanName, beanDefinition);
 }

 /**
  * @desc 根據類名查找class
  * @param className
  * @return
  * @throws BVSException
  */
 private Class?> getServiceClass(String className) throws BVSException {
  try {
   return Thread.currentThread().getContextClassLoader().loadClass(className);
  } catch (ClassNotFoundException e) {
   log.error("not found service class:" + className, e);
   throw new BVSException("not found service class:" + className, e);
  }
 }
}

您可能感興趣的文章:
  • Spring Boot如何動態創建Bean示例代碼
  • Spring中如何動態注入Bean實例教程
  • JSP 開發之Spring Boot 動態創建Bean
  • 如何在Spring中使用編碼方式動態配置Bean詳解

標簽:丹東 紅河 宿州 貴州 云浮 青島 西藏 江西

巨人網絡通訊聲明:本文標題《spring動態bean注冊示例分享》,本文關鍵詞  spring,動態,bean,注冊,示例,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《spring動態bean注冊示例分享》相關的同類信息!
  • 本頁收集關于spring動態bean注冊示例分享的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 利津县| 仙桃市| 柞水县| 四川省| 桐梓县| 乌兰浩特市| 大同市| 汶上县| 宁化县| 星座| 乌兰浩特市| 武夷山市| 文水县| 武鸣县| 淮滨县| 汉源县| 陇南市| 汝南县| 防城港市| 淅川县| 冀州市| 襄汾县| 威海市| 抚宁县| 琼结县| 澄江县| 屏东市| 蓝山县| 常州市| 莱州市| 铁岭县| 个旧市| 阿城市| 黄陵县| 横山县| 东丰县| 丽水市| 禹城市| 沅江市| 河池市| 织金县|