扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Spring是一个轻量级控制反转IoC和面向切面AOP的容器框架,它主要是为了解决企业应用开发的复杂性而诞生的。
10余年的南陵网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整南陵建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“南陵网站设计”,“南陵网站推广”以来,每个客户项目都认真落实执行。Spring框架的主要优势之一,是其分层结构,分层结构允许使用者选择使用组件,同时为J2EE应用开发提供基本的框架。基本思想是使用基本的JavaBean代替EJB,可以用在任何Java应用中。
Spring优势:
1.低侵入式设计,代码污染极低
2.一次编写,处处运行
3.DI有效降低了耦合度
4.AOP提供了通用任务的集中管理
5.ORM和DAO简化了对数据库的访问
6.高度开放性,并不强制
Spring的特点:
方便解耦,简化开发
AOP编程的支持
声明式事务的支持
方便程序的测试
方便集成各种优秀框架
降低了JavaEE API的使用难度
Spring IOC(Inversion of Control,控制反转):
是Spring的核心,贯穿始终,所谓IOC对于Spring框架来说,就是由Spring来负责控制对象的生命周期和对象间的关系:
传统的开发模式:对象之间互相依赖
IOC:IOC容器安排对象之间的依赖,Spring会登记所有的类及其特性,等到恰当的时候,会向一个类提供所需要的类,所有的类创建,生存,销毁,都由Spring控制。
(齿轮中的耦合关系类似于软件系统中的耦合关系,耦合度过高会导致牵一发而动全身,降低耦合度是软件工程的追求之一)
图一:面向对象程序设计
图二:IOC解耦原理,把复杂系统分解为相互封装的对象,借助于第三方IOC容器,来对依赖关系的对象来进行解耦
图三:理想的软件系统,ABCD之间没有耦合关系
注意起名为控制反转的原因:在图一中,如果对象A需要使用对象B,回去生成或者引用一个对象B,无论怎样获得对象B,控制权最终都由自己主动掌握,但是在图二中,如果对象A运行到需要对象B,则有IOC容器会主动创建对象B,注入到对象A需要的地方,对象A获得对象B的过程,由主动行为变为被动行为。
我们可以将A看成是主机,B看成是USB接口外接设备,无论外接设备是什么,A都会从USB接口被动地读取数据,设备B究竟是什么取决于人,这就是一个控制反转(依赖注入)的例子。
IOC的另外的名字叫做依赖注入(Dependency Injection),所谓的依赖注入,就是由IOC容器在运行期间,动态地将某种依赖关系注入到对象中。所以,依赖注入和控制反转是从不同的角度描述同一件事情,就是指通过引入IOC容器,利用依赖关系注入的方式,实现容器之间的解耦。IOC容器就是一个对象制造工厂。
IOC通俗理解:
IOC控制反转:创建对象实例的控制权从代码控制剥离到IOC容器控制,实际就是你在XML文件控制,侧重于原理。
DI依赖注入:说的是创建对象实例时,为这个对象注入属性值或其它对象实例,侧重于实现。
AOP专门用于处理系统中分布于各个模块中的交叉关注点的问题,在JavaEE应用中,常常通过AOP来处理一些具有横切性质的系统及服务,如事务管理,安全检查,缓存,对象池管理等,AOP已经成为一种常用解决方案。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流