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

重庆当地网站邢台市建设银行网站

重庆当地网站,邢台市建设银行网站,设计师 必备的网站,全球快速建站工具图解 Spring 核心数据结构#xff1a;BeanDefinition 简介 使用spring框架的技术人员都知道spring两个大核心技术IOC和AOP#xff0c;随着投入更多的时间去学习spring生态#xff0c;越发觉得spring的发展不可思议#xff0c;一直都是引领着Java EE的技术变革#xff0c;这…图解 Spring 核心数据结构BeanDefinition 简介 使用spring框架的技术人员都知道spring两个大核心技术IOC和AOP随着投入更多的时间去学习spring生态越发觉得spring的发展不可思议一直都是引领着Java EE的技术变革这样一系列优秀的框架我们应该花多一点时间去深入思考spring生态的发展学习spring中优秀的设计思想。以前学习spring我们都是梳理一下spring bean的生命周期debug一下spring aop的源码最近想想感觉完全不够深入所以近期想着出一系列文章以图解的方式细致入微的去理解spring的每一个细节本篇将围绕BeanDefinition的设计这一细节展开讲解希望对读者有所启发。 一、spring bean是什么 使用了这么久的spring框架那么spring bean是什么呢我们都知道spring ioc会载入和管理我们的bean我理解bean实际就是我们程序中使用的对象初学spring的时候经常被问到不用spring我们是怎么开发的没有spring我们使用对象的时候自己new一旦该对象不再被使用则由 Java 自动进行垃圾回收。简单的描述我们是不是感觉spring bean没什么神秘了就是我们new的对象。 Spring 中的对象是 beanbean实际上就是我们new的对象只不过 Spring 不再自己去 new 对象了而是由 IoC 容器去帮助我们实例化对象并且管理它我们需要哪个对象到IoC 容器里获取即可。IoC 其实就是解决对象之间的耦合问题Spring Bean 的生命周期完全由容器控制。 我们对spring bean有了一些概念之后那我们是否好奇spirng bean是以什么新式存储的呢 二、BeanDefinition的设计 在Spring框架中定义了一个BeanDefinition接口用于描述和配置Spring容器中的Bean用于定义Bean的配置元数据包括类名、作用域、构造函数参数、属性值、初始化方法、销毁方法和依赖关系等信息BeanDefinition提供了一种抽象使得开发者能够以声明性的方式描述如何实例化、配置和组装一个特定的Bean。 随着技术的发展BeanDefinition接口得到了极大的发展丰富继承体系如下图所示 1、AttributeAccessor: 提供对 BeanDefinition 属性操作能力。 2、AttributeAccessorSupport: 使用了 Map 进行属性的存储的。 3、BeanMetadataAttributeAccessor: 代表了一个 Bean 元数据的属性操作。 4、BeanMetadataElement: BeanDefinition 元数据返回该 Bean 的来源。 5、BeanDefinition: 用来描述 Bean里面存放 Bean 元数据比如 Bean 类名、scope、属性、构造函数参数列表、依赖的 Bean、是否是单例类、是否是懒加载等一些列信息。 6、AbstractBeanDefinition: 抽象类统一实现了 BeanDefinition 定义的一部分操作可以说是定义了 BeanDefinition 很多默认的属性。 7、RootBeanDefinition: 代表一个 XMLJava Config来的 BeanDefinition。 8、AnnotatedBeanDefinition: 表示注解类型 BeanDefinition。有两个重要的属性AnnotationMetadata、MethodMetadata 分别表示 BeanDefinition 的注解元信息和方法元信息。实现了此接口的 BeanDefinition 可以获取到注解元数据和方法元数据。 9、ChildBeanDefinition: 可以让子 BeanDefinition 定义拥有从父母那里继承配置的能力。 10、GenericBeanDefinition: 是 Spring 2.5 之后才有的这个的想法是用来替代 RootBeanDefinition/ChildBeanDefinition而 RootBeanDefinition/ChildBeanDefinition 可以在 Spring 预加载的时候使用。 11、AnnotatedGenericBeanDefinition: 表示 Configuration 注解注释的 BeanDefinition 类。是 AnnotatedBeanDefinition 的一个具体实现。传入指定类后可以获取类中的注解。 12、ScannedGenericBeanDefinition: 表示 Component、Service、Controller 等注解注释的 Bean 类。是 AnnotatedBeanDefinition 的另一个实现与 AnnotatedGenericBeanDefinition 不同的是ScannedGenericBeanDefinition 是通过扫描 class然后操作 ASM 进行解析的。 总结 本篇简单介绍了spring bean的相关概念以及初步分析了BeanDefinition的设计理论概念性的内容总是枯燥乏味的为了不影响文章的可读性本篇先介绍到这里后续再出文章进行补充讲解。
http://www.zqtcl.cn/news/934004/

相关文章:

  • 网站与域名南宁网络系统开发
  • 网站的域名做邮箱吗怎么建立一个网站让外国人浏览
  • 做建网站的工作一年赚几百万正安县网站seo优化排名
  • 简约手机网站源码深圳市龙华区民治街道
  • 买了个网站后怎么做三明网站优化
  • 表白网页制作免费网站制作西安网站快速优化
  • 如何破解网站后台管理做网站前端用什么软件好
  • 网站建设业务客户来源建德建设局官方网站
  • 网站设计 网站开发 优化网页设计一般尺寸
  • 好的版式设计网站网站建设商标属于哪个类别
  • 做淘宝素材网站哪个好用中国广告公司100强
  • 海拉尔网站建设平台wordpress的插件下载地址
  • 企业服务类网站常用python编程软件
  • 有哪些漫画做的好的网站西安seo建站
  • 在建设部网站如何查询注册信息网站开发项目的前端后端数据库
  • 自助建站网站seo公司wordpress 相册 免费模板
  • 搜索建站网在线crm管理系统
  • 旅游网站管理系统源码wordpress 禁止爬虫
  • 会员登录系统网站建设wordpress 二级页面
  • 北京网站建设公司代理记账代理公司注册
  • 网站建设需要提供的资料物流企业网站建设与管理规划书
  • .net 手机网站开发wordpress下载链接框
  • 省直部门门户网站建设网站视频点播怎么做
  • 广西网站建设-好发信息网做信息图的网站
  • 网站建设费用怎么算遵义市住房和城乡建设局官方网站
  • 网站部分网页乱码手把手教建设网站
  • 电商网站开发目的举报网站建设运行情况
  • 网站专业设计在线科技成都网站推广公司
  • 怎么建设幸运28网站seo工作是什么意思
  • 人工智能和网站开发如何做网站栏目