- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
spring 69个经典面试题
Spring 概述
转自/ying847782627/article/details转自/sinsangyimeng/article/details HYPERLINK /base/17 \o Java EE知识库 \t /sinsangyimeng/article/details/_blank spring框架由Rod Johnson开发,2004年发布了Spring框架的第一版。Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,从而大大提高了企业应用的开发效率。
Spring总结起来优点如下:
低侵入式设计,代码的污染极低。
独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺。
Spring的IoC容器降低了业务对象替换的复杂性,提高了组件之间的解耦。
Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用。
Spring的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问。
Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部。
Spring框架的组成结构图如下所示:
Spring的核心机制
管理Bean
程序主要是通过Spring容器来访问容器中的Bean,ApplicationContext是Spring容器最常用的接口,该接口有如下两个实现类:
ClassPathXmlApplicationContext: 从类加载路径下搜索配置文件,并根据配置文件来创建Spring容器。
FileSystemXmlApplicationContext: 从文件系统的相对路径或绝对路径下去搜索配置文件,并根据配置文件来创建Spring容器。
public static void main(String args[]) throws Exception{
ApplicationContext ctx=newClassPathXmlApplicationContext(beans.xml);
Person p = ctx.getBean(person, Person.class);
p.say();
}
依赖注入
Spring框架的核心功能有两个:
Spring容器作为超级大工厂,负责创建、管理所有的Java对象,这些Java对象被称为Bean。
Spring容器管理容器中Bean之间的依赖关系,Spring使用一种被称为依赖注入的方式来管理Bean之间的依赖关系。
使用依赖注入,不仅可以为Bean注入普通的属性值,还可以注入其他Bean的引用。依赖注入是一种优秀的解耦方式,其可以让Bean以配置文件组织在一起,而不是以硬编码的方式耦合在??起。
理解依赖注入
Rod Johnson是第一个高度重视以配置文件来管理 HYPERLINK /base/17 \o Java EE知识库 \t /sinsangyimeng/article/details/_blank Java实例的协作关系的人,他给这种方式起了一个名字:控制反转(Inverse of Control,IoC)。后来Martine Fowler为这种方式起了另一个名称:依赖注入(Dependency Injection),因此不管是依赖注入,还是控制反转,其含义完全相同。当某个Java对象(调用者)需要调用另一个Java对象(被依赖对象)的方法时,在传统模式下通常有两种做法:
原始做法: 调用者主动创建被依赖对象,然后再调用被依赖对象的方法。
简单工厂模式: 调用者先找到被依赖对象的工厂,然后主动通过工厂去获取被依赖对象,最后再调用被依赖对象的方法。
注意上面的主动二字,这必然会导致调用者与被依赖对象实现类的硬编码耦合,非常不利于项目升级的维护。使用Spring框架之后,调用者无需主动获取被依赖对象,调用者只要被动接受Spring容器为调用者的成员变量赋值即可,由此可见,使用Spring后,调用者获取被依赖对象的方式由原来的主动获取,变成了被动接受——所以Rod Johnson称之为控制反转。
另外从Spring容器的角度来看,Spring容器负责将被依赖对象赋值给调用者的成员变量——相当于为调用者注入它依赖的实例,因此Martine Fowler称之为依赖注入。
设值注入
设值注入是指IoC容器通过成员变量的setter方法来注入被依赖对象。这种注入方式简单、直观,因而在Spring的依赖注入里大量使用。
构造注入
您可能关注的文档
- SCM3 供应链管理方法.ppt
- SDH的复用方式.ppt
- SDN涉及协议及标准分析.pptx
- SCADA监控系统说明书.doc
- Section 25 补偿贸易Compensation Trade.ppt
- se04c人机界面设计.ppt
- Seo优化不要盲目跟随算法更新的脚步.pptx
- SDV工作原理.ppt
- SC7中国海上采油人工岛论文讲稿(英文).ppt
- Selinux配置.ppt
- DB14T 3462-2025 井工煤矿人工智能视觉识别技术要求.pdf
- 专练01 七上《朝花夕拾》—2024年中考语文名著导读抢分练(全国通用)(原卷版).pdf
- 专题29 小说常考题+病句的10个“不放过”-2023年中考语文热点作文素材解读及运用.pdf
- 专题15 最新热点时评与写作角度解读+「人民日报」时评文章精选金句汇总-2023年中考语文热点作文素材解读及运用.pdf
- 专题12 九下《儒林外史》—2024年中考语文名著导读抢分练(解析版).pdf
- 专题28 思辨类话题名言金句+5篇关于经典人物的精彩时评+热点时评-2023年中考语文热点作文素材解读及运用.pdf
- 11 七下期中记叙文阅读训练-2022-2023学年七年级语文下册知识梳理与能力训练(部编版).pdf
- 04 人物传记阅读 -2022-2023学年七年级语文下册知识梳理与能力训练(部编版) .pdf
- 专题06 八上《红星照耀中国》—2024年中考语文名著导读抢分练(解析版).pdf
- 专练02 七上《西游记》—2024年中考语文名著导读抢分练(全国通用)(原卷版).pdf
文档评论(0)