没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|行业资讯|编辑:郝浩|2016-02-22 16:04:29.000|阅读 1022 次
概述:本篇讲解了Spring的总体架构中重要组件Bean的结构及用途。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
前面已经说明了Bean组件对Spring的重要性,下面看看Bean这个组件式怎么设计的。Bean组件在Spring的org.springframework.beans包下。这个包下的所有类主要解决了三件事:Bean的定义、Bean 的创建以及对Bean的解析。对Spring的使用者来说唯一需要关心的就是Bean的创建,其他两个由Spring在内部帮你完成了,对你来说是透明的。
SpringBean的创建时典型的工厂模式,他的顶级接口是BeanFactory,下图是这个工厂的继承层次关系:
BeanFactory有三个子类:ListableBeanFactory、HierarchicalBeanFactory和Autowire Capable Bean Factory。但是从上图中我们可以发现最终的默认实现类是DefaultListableBeanFactory,他实 现了所有的接口。那为何要定义这么多层次的接口呢?查阅这些接口的源码和说明发现,每个接口都有他使用的场合,它主要是为了区分在Spring内部在操作过程中对象的传递和转化过程中,对对象的 数据访问所做的限制。例如ListableBeanFactory接口表示这些Bean是可列表的,而HierarchicalBeanFactory表示的是这些Bean是有继承关系的,也就是每个Bean有可能有父Bean。 AutowireCapableBeanFactory接口定义Bean的自动装配规则。这四个接口共同定义了Bean的集合、Bean之间的关系、以及Bean行为。
Bean的定义主要有BeanDefinition描述,如下图说明了这些类的层次关系:
Bean的定义就是完整的描述了在Spring的配置文件中你定义的节点中所有的信息,包括各种子节点。当Spring成功解析你定义的一个节点后,在Spring的内部他就被转化 成BeanDefinition对象。以后所有的操作都是对这个对象完成的。 Bean的解析过程非常复杂,功能被分的很细,因为这里需要被扩展的地方很多,必须保证有足够的灵活性,以应对可能的变化。Bean的解析主要就是对Spring配置文件的解析。这个解析过程主要通过 下图中的类完成:
当然还有具体对tag的解析这里并没有列出。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@ningjinzhiyuan.cn
Java测试解决方案Parasoft Jtest通过其核心功能——调用跟踪、自动诊断与修复建议,有效解决了这一问题。它为开发者提供实时监控变量状态、精确定位问题根源的能力,并能无缝集成到现有测试框架中,显著减少了调试所需的时间和人力投入。
自动化测试平台Parasoft SOAtest通过全渠道整合与自动化数据流转,让移动端、API、数据库的测试在统一框架中无缝衔接,让数据传递难题迎刃而解。
当云端碳排放预测工具成为建筑行业中的新需求,为填补市场空白,我们准备打造一款基于云端的碳排放预测和成本估算的产品。我们公司致力于为建筑行业的客户提供集成解决方案和服务。在此次新品研发中,我们希望自己的技术团队仍主攻碳排放预测工具的核心功能,因此我们需要找到合作伙伴帮忙实现云端运行的效果,这也是我们选择HOOPS Web Platform的主要原因。 ——某建筑行业解决方案服务商 技术总监
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@ningjinzhiyuan.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢