Spring知识点总结(1)

知识点总结:
Spring框架的作用
典型的应用程序开发过程中,开发人员使用Struts、WebWork等应用程序框架开发前端程序,而采用JDO、Hibernate等持久层框架进行数据库操作,使用Spring IoC容器(控制反转)对整个系统中的组件进行配置和管理。
2.1、IoC
控制反转(Inversion of Control),指的是将创痛编程方式中的程序依赖关系的控制权从程序内部转移到程序外部,允许程序员从程序逻辑中分离出对具体实现的依赖和管理。
控制反转也体现了”面向接口编程”、分离调用与实现的设计思想
2.2、依赖注入
由容器动态地将某种依赖关系注入到组件之间。
控制反转也称为”依赖注入“(Dependency Injection DI)转也称为”依赖注入“(Dependency Injection DI)

IoC/DI示例:
依赖注入是Java编程思想中”面向接口编程“的体现,因此在设计程序是,对于程序所依赖的组件往往以忌口的形式出现,而不直接使用具体的实现类:

2.3、IoC/DI的实现方式
2.3.1、Type1 接口注入
方法的调用者通过方法参数提供一个接口的实现类(所依赖的组件)

2.3.2、Type2 设值注入
借鉴JavaBean的设计方法,把业务处理对象所以来的其它组件通过setter方法传递进来

2.3.3、Type3 构造参数注入
在业务处理对象初始化的阶段,就将所以来的其他组件通过构造方法设置好;在初始化阶段完成之后,就可以得到一个完整的业务对象直接使用。

3.2、applicationContext.xml

2.4 依赖注入实现方式的比较
2.4.1、Type1 接口注入
历史悠久,在大量的容器、框架设计中都有采用,例如servlet,struts1等
灵活性、易用性不足,目前依赖注入模式的开发中Type2、Type3成为主流
2.4.2、Type2 设值注入
近似于传统的javabean模式,对于程序员来说,通过setter方法来设置依赖关系更加直观、自然
避免了庞大臃肿的构造函数,特别是在依赖关系复杂的情况下不用在构造函数中出现众多的构造函数,在编码中更为简洁
在某些框架中,对构造函数有一定的限制(往往要求提供一个默认的构造函数)这时Type3方式就显得无能为力。
2.4.3、Type3 构造参数注入
完全符合”在构造期即创建一个完整的、合法的对象“的java设计原则
所有的依赖关系在构造方法中集中体现
由于没有setter方法能改变依赖关系,所有组建在创建之后处于相对”稳定“状态。同时在一定程度上也对外界屏蔽了依赖关系的细节。
对于复杂的依赖关系,可以通过构造方法决定依赖关系注入的顺序。

三、应用
3.1、所需包

3.2、applicationContext.xml

四、总结
Spring框架的产生
Spring框架由依赖注入容器、AOP实现,DAO/ORM支持、Web集成等多个部分组成。
Spring在应用程序中对整个应用系统中的组件进行配置和管理
IoC将传统编程方式中的程序依赖关系的控制权从程序内部转移到程序外部,从程序逻辑中分离出对具体实现的依赖和管理。
DI的实现方式中,接口注入出现最早,但因为灵活性、易用性方面的不足,IoC领域不再是主流选择。
Type2设值注入和Type3构造参数注入都是目前比较主流的做法,但是由于实现方法的不同,在运用中也有各自的优点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值