当前位置: 首页 > news >正文

南通做网站软件东莞规划局官方网站

南通做网站软件,东莞规划局官方网站,博尔塔拉州大型网站建设,多少钱文章目录 前言一、jar包中,相同class不同类加载器加载的时候是同一个class嘛#xff1f;二、利用ConfigurableListableBeanFactory手动注册bean注册bean,并自动注入依赖bean根据类型获取注入的bean,两个bean是一个吗? 三、同一份字节码,class隔离,bean隔离总结 前言 注入一个… 文章目录 前言一、jar包中,相同class不同类加载器加载的时候是同一个class嘛二、利用ConfigurableListableBeanFactory手动注册bean注册bean,并自动注入依赖bean根据类型获取注入的bean,两个bean是一个吗? 三、同一份字节码,class隔离,bean隔离总结 前言 注入一个bean常用的方式有几种: 加注解,spring.favorite中添加类全路径 等 今天涉及到了一个问题,就是需要在程序中,根据名字,在jar中寻找class,动态加载对象,然后变成bean 注入到spring容器中,当然还有其他问题; 一、jar包中,相同class不同类加载器加载的时候是同一个class嘛 做如下验证,同一个jar包,通过两个类加载器加载,看是否为同一个class,整体代码如下: 测试类; SpringBootTest public class ClassLoadTest {AutowiredApplicationContext context;Testvoid ss() throws Exception {String path D:\\Java-develop\\project\\token\\src\\main\\resources\\jar\\platform-base-system-3d-public-1.0-SNAPSHOT-plain.jar;URL[] urls {new URL(file: path)};URLClassLoader urlClassLoader new URLClassLoader(urls);URLClassLoader urlClassLoader1 new URLClassLoader(urls);Class? aClass urlClassLoader.loadClass(com.platform.base.system.system.util.StringUtils);Class? aClass1 urlClassLoader1.loadClass(com.platform.base.system.system.util.StringUtils);SpringUtil.registerBean(javaInfo, aClass.newInstance());SpringUtil.registerBean(javaInfo1, aClass1.newInstance());Object javaInfo context.getBean(aClass);System.out.println(javaInfo);Object javaInfo1 context.getBean(aClass1);System.out.println(javaInfo1);Object bean context.getBean(javaInfo);System.out.println(bean);System.out.println(context.getBean(javaInfo).equals(context.getBean(javaInfo1)));}}debug可以看到: 不同的类加载器,加载同一个jar的同一个class,加载到的class也是不一样的; 分别为8554 / 8555 二、利用ConfigurableListableBeanFactory手动注册bean 注册bean,并自动注入依赖bean SpringUtil.registerBean(javaInfo, aClass.newInstance());SpringUtil.registerBean(javaInfo1, aClass1.newInstance());由于注入的bean名称不能一直,所以这里设置不同的bean名称然后将每个class初始化后,注入到spring容器中 根据类型获取注入的bean,两个bean是一个吗? Object javaInfo context.getBean(aClass); System.out.println(javaInfo); Object javaInfo1 context.getBean(aClass1); System.out.println(javaInfo1);可以看到: 这是不同的两个bean,分别为: 8547 / 8556 三、同一份字节码,class隔离,bean隔离 为什么 同一份字节码,class隔离,bean隔离?虽然是同一份字节码,但是由于是不同的类加载器加载的,所以造成了class隔离由于是不同的class,所以后续注入bean的时候,也造成了bean隔离 这样的意义在于: 当不同jar中,存在相同bean的时候,即使完全一样的class,在通过类加载器加载的时候,也不会造成问题 总结 加载jar包中的class根据加载的class创建对象手动创建bean,注入spring容器中每个类加载器不同,那么加载的class也一定不同
http://www.zqtcl.cn/news/270109/

相关文章:

  • 国外的ps网站网页源代码翻译器
  • 六安马昌友优化营商环境 助推高质量发展
  • wdcp 配置网站什么是搜索引擎营销?
  • 东莞网站上排名建设银行网站登录不进去
  • 陕西建设厅八大员官方网站服装公司做哪个网站
  • 福建省住房和城乡建设厅网站站群 网站如何做
  • 网站换稳定服务器网页制造与网站建设论文
  • wordpress 产品目录seo技术是干什么的
  • 做里番网站犯法吗中建八局第一建设有限公司资质
  • 怎么制作网站教程电商seo建站优化价格表
  • 黄平网站建设网站建设公司广告 晴天娃娃
  • 中山市 有限公司网站建设网站建设 福步 2018
  • 英语网站开发中国桥梁建设公司排名
  • php做的网站怎么运行公司网站备案查询
  • jsp 响应式网站模板设计类网站策划案
  • 建设银行网站怎么注销网银百度广告联盟
  • flash建网站教程天津市建设工程评标专家网
  • 合格的网站设计师需要会什么软件seo 深圳
  • 公司网站建设费用账务处理软文300字案例
  • 门户型网站特点网站营销推广的公司
  • wordpress gif主题seo兼职怎么收费
  • 商城免费建站系统手机端首页尺寸多少
  • 网站上存储播放视频怎么做wordpress 作品集 相册
  • 建设网工程信息南昌官网seo厂家
  • 上海网站seo牛巨微网页设计模板html代码个人介绍
  • 网站 架构 设计公司网站建设费怎么做账
  • 合肥电脑网站建站萍乡手机网站建设
  • 优化seo网站西安wordpress 做购物网站
  • 广州建设档案馆网站稿定设计app免费版官方
  • 橙色企业网站源码建设工程投标文件在哪个网站有发布