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

弹簧机 东莞网站建设重庆专业网站排名团队

弹簧机 东莞网站建设,重庆专业网站排名团队,做网站平台公司有哪些,怎样创建网站快捷方式到桌面我们可以通过spring来管理我们的类#xff0c;之后我们可以通过spring的容器来获取我们所需要的Bean类对象。Spring的处理器是Spring对外开发的重要扩展点#xff0c;它允许我们介入到Bean的整个实例化流程中来#xff0c;可以动态添加、修改BeanDefinition、动态修改Bean 首…    我们可以通过spring来管理我们的类之后我们可以通过spring的容器来获取我们所需要的Bean类对象。Spring的处理器是Spring对外开发的重要扩展点它允许我们介入到Bean的整个实例化流程中来可以动态添加、修改BeanDefinition、动态修改Bean 首先spring会解析配置Bean的xmlw文件将解析结果分装成一个个BeanDifinition存到一个BeanDifinitionMap里面。然后将该Map传入到工厂里面然后工厂会遍历该Map得到其中的Bean对象。之后根据Bean对象的信息创建对应的类实例对象并将这些实例对象存放到singletonObjects里面。最后我们接收一下容器容器本身也是一个对象往后便可以通过这个容器来获取我们想要的实例对象。大致流程如下图详细的可以看我的另一篇文章。 其中我们再拆出工厂生产实例对象的过程  在工厂里面工厂首先会通过遍历拿出一个个Bean的信息然后根据信息将其生产对应的类实例对象。生产对象后工厂会将其打包最后通过容器传递给调用者。 spring里提供了两个处理器给我们进行拓展分别是Bean工厂后处理器BeanFactoryPostProcessor简称BFPP和Bean后处理器BeanPostProcessor简称BPP。接下来我们介绍一下这两个处理器。 BeanFactoryPostProcessor Bean工厂后处理器在BeanDefinitionMap填充完毕Bean实例化之前执行也就是前面图里面两个绿框框中左下那个框起来的部分。 BFPP是一个接口规范实现BFPP的类只需要继承BeanFactoryPostProcessor接口然后实现 void postProcessBeanFactory 方法即可。实现该接口的类只要交给spring容器管理spring就会自动调用该实现类里的方法以达到修改或添加BeanDefinition的目的。 到这里也没太多的可以讲我们上代码示例 配置包 实现BFPP接口的类 配置到Bean.xml文件 测试类和测试结果 基本使用方法就如上面演示所示。postProcessBeanFactory传入的参数是spring解析完Bean配置文件之后最原始的Bean数据。我们可以通过操作这个数据来影响实例对象的创建。 先展示用法 如上图我们可以通过该方法传进来的参数beanFactory来操作BeanDefinitionMap。获得BeanDefinition对象之后我们就可以对spring解析得到的原始数据进行操作。像上图中选中的setBeanClassName就是修改该Bean的对应类的信息。方法很多详细可以查看源码中的注释或开发者文档这里不展开讲。 下面我展示一下通过Bean工厂后处理器修改原始数据让所有原本生产User类实例对象的调用变为生产Student类实例对象 然后我们看测试结果 而且我们来看我的Bean.xml配置文件: 我是没有给Student类配置相关信息的。这就回到开始将到的BFPP的概念BFPP可以在生产实例对象前对解析XML配置文件得到的原始数据进行操作。 BeanPostProcessor Bean后处理器跟BFPP都是一个接口但是它执行的时间点与BFPP不一样。BFPP执行是在bean对应的类实例对象创建之前对BeanDifinition进行操作而BPP是对象创建之后缓存到singletonObjects单例池之前对实例对象初始化过程的操作包括属性的填充、初始化方法等等也就是前面的流程图中右上的绿框框框起来的那一节点。 实现方式则和BPFF大差不差首先写一个类实现BeanPostProcessor接口实现其中的 postProcessBeforeInitialization和postProcessAfterInitialization 两个方法后续简称before方法和after方法。 在Bean里面我们可以设置初始化方法和销毁方法而BPP的作用与初始化方法的作用很类似。这三者之间的执行顺序是beforeinti初始化方法after 当然这两种的作用不可能就只是初始化BPP主要用于实现动态代理实现对类的增强增强可以理解为对一个类实例对象拓展其功能。这么说比较抽象我打个比方。你去汤面馆吃面点了个牛肉面。按店家正常做出来的牛肉面你觉得不够鲜不够香于是你端着面到调料台前加了一勺香菜。 店家把面做出来就是根据Bean的信息生产出实例对象你加香菜就是使用BPP对实例对象进行增强。动态代理我会开篇新文章讲。
http://www.w-s-a.com/news/212782/

相关文章:

  • 有搜索引擎作弊的网站企业建设H5响应式网站的5大好处6
  • 是做网站编辑还是做平面设计seo外包公司接单
  • 做性的网站有哪些苏州专业网站设计制作公司
  • 陵水网站建设友创科技十大优品店排名
  • 想换掉做网站的公司简要说明网站制作的基本步骤
  • 国企公司网站制作wordpress 浮动定位
  • 网站网页直播怎么做的企业网站建设推荐兴田德润
  • 网站建设熊猫建站厦门seo全网营销
  • 扁平网站设计seo是什么岗位的缩写
  • 工商企业网站群晖配置wordpress 80端口
  • 企业网站建设流程步骤镇江东翔网络科技有限公司
  • 网络工程师和做网站哪个难网络建站如何建成
  • 网站建设需要哪些项目游民星空是用什么做的网站
  • 旅游网站建设要如何做百度商城网站建设
  • destoon 网站搬家中国企业500强都有哪些企业
  • 商城网站前端更新商品天天做吗哈尔滨做网站优化
  • 新乡网站开发wordpress 产品分类侧边栏
  • 网站自己做自己的品牌好做互联网企业分类
  • 项目网站建设方案石家庄网站快速排名
  • 网站开发大作业报告做电商网站的参考书
  • Apache局域网网站制作wordpress外链自动保存
  • 网站备案号要怎么查询千锋教育培训机构地址
  • 门户网站建设要求几款免费流程图制作软件
  • 花生壳域名可以做网站域名吗wordpress内链工具
  • 猎头公司网站模板网站伪静态作用
  • 工程建设教育网站html成品网页模板下载
  • 同一ip 网站 权重wordpress 菜单 小图标
  • 网站没有icp备案wordpress d8主题 4.1
  • 手机网站建设推荐企业宣传页模板
  • 杭州市富阳区建设局网站动态域名做网站