Spring框架IOC之一

1.什么是sprig

Spring是一个开源框架。,它是由Rod Johson创建。它是为了解决定企业开发的复杂性的创建的

Spring使用基本的JavaBeam来完成以前只可能由EJB完成的事情。

然而,Spring的用途不仅局限于服务器端的开发,从简单性,可测试性,和松耦合的角度而言,任何java应用都可从中受益。

目的:解决企业应用开发的复杂性。

功能:使用基本的javaBean代替EJB,并提供更多的企业应用功能

范围:任何的Java应用

它是一个容器框架,用来装JAVABean(java对象),中间层框架可以起连接作用,比如说吧struts和hibernate粘合在一起运用,简单来说,Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。

IOC:Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。

AOP:AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

Spring的特点:1.方便解耦,简化开发  通过Spring提供的IoC容器,我们可以将对象之间的依赖                               关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,                                  用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可                                以更专注于上层的应用。 

                          2.AOP编程的支持    通过Spring提供的AOP功能,方便进行面向切面的编程,                                  许多不容易用传统OOP实现的功能可以通过AOP轻松应付。

                          3.声明式事务的支持  在Spring中,我们可以从单调烦闷的事务管理代码中解脱出                                来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。

                           4.方便程序测试    可以用非容器依赖的编程方式进行几乎所有的测试工作,在                                  Spring里,测试不再是昂贵的操作,而是随手可做的事情。例如:Spring对                                       Junit4支持,可以通过注解方便的测试Spring程序。

                            5.方便集成各种优秀框架    Spring不排斥各种优秀的开源框架,相反,Spring可                                以降低各种框架的使用难度,Spring提供了对各种优秀框架(如                                                      Struts,Hibernate、Hessian、Quartz)等的直接支持。

                            6.降低java EE APL的使用难度   Spring对很多难用的Java EE API(如JDBC,                                   JavaMail,远程调用等)提供了一个薄薄的封装层,通过Spring的简易封装,                                 这些Java EE API的使用难度大为降低。

                              7.源码是经典的学习范例   Spring的源码设计精妙、结构清晰、匠心独用,处                                    处 体现着大师对Java设计模式灵活运用以及对Java技术的高深造诣。Spring                                    框架源码无疑是Java技术的最佳实践范例。如果想在短时间内迅速提高自己                                     的Java技术水平和应用开发水平,学习和研究Spring源码将会使你收到意想                                     不到的效果。

Spring的优点:1.低侵入式设计,代码污染极低

                         2.独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run                           Anywhere的承诺

                         3.Spring的DI机制降低了业务对象替换的复杂性,提高了组件之间的解耦

                         4.Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,                           从而提供了更好的复用

                         5.Spring的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的                              数据库访问

                        6.Spring并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或                             全部

2.耦合

一个软件结构内不同模块之间互连程度的度量(耦合性也叫块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。)

软件工程规定写代码的原则是“高内聚,低耦合”。内聚是代码块间的独立性,耦合是各个代码块间的联系。

3.Spring的核心:

控制反转(IOC):

 实现将组件间的关系从程序内部提到外部容器(spring的xml)来管理。

首先外部容器(spring.xml)中会动态的注册业


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部