实习总结(十)---Spring的下载/安装/优点/依赖注入方式/自动配置
来源:互联网 发布:ssh连接阿里云centos 编辑:程序博客网 时间:2024/05/21 08:42
继Struts 2之后,我学习了 Spring ,然初次接触,就被其强大的功能及多处优点所吸引,故对其进行深入学习,分享总结如下:
一、Spring的下载:
Spring框架官方网站http://www.spring.gov.sg/Pages/homepage.aspx,该网站即可完成Spring框架的下载。
二、Spring的安装:
Java程序则只需将Spring解压文件夹下的disk目录下的spring.jar添加到ClassPath下。如果开发Web应用则只需将spring.jar拷贝到Web应用的WEB-INF目录下的lib目录下。如果应用需要使用到其他第三方的JAR,则还需将其添加到ClassPath下或拷贝到Web应用的WEB-INF目录下的lib目录下。
三、Spring的优点:
(1) Spring能有效地组织你的中间层对象。
(2)Spring能消除在许多工程中常见的对Singleton的过多使用。
(3)Spring能消除各种各样自定义格式的属性文件的需要,使配置信息一元化。
(4)Spring能够帮助我们真正意义上实现针对接口编程。
(5)在Spring应用中的大多数业务对象没有依赖于Spring。
(6)使用Spring构建的应用程序易于单元测试。
(7)Spring支持JDBC和O/R Mapping产品(Hibernate)
(8)MVC Web框架,提供一种清晰,无侵略性的MVC实现方式。
(9)JNDI抽象层,便于改变实现细节,可以方便地在远程服务和本地服务间切换。
(10)简化访问数据库时的例外处理。
(11)Spring能使用AOP提供声明性事务管理,可以不直接操作JTA也能够对事务进行管理。
(12)提供了JavaMail或其他邮件系统的支持。
(13) 轻量级,非侵入式:基于Spring开发应用时新建的类一般都无须继承Spring中的类。
(14) 反向控制:又称为依赖注入和IoC。使用方向控制,对象被动接收依赖类而不是自己去创建或者查找其所以来的对象。
(15) 面向切面:又称为AOP。使用面向切面编程,可以将业务逻辑从系统服务中抽取出来,实现内聚开发。应用对象只实现业务逻辑,而不会去负责其他的系统级关注点。
(16) 容器:Spring中包含并且可以管理应用对象的配置和生命周期,配置Bean如何被创建或者是如何被关联。
(17) 框架:可以将简单的组件配置组合成复杂的应用。
(18) Spring是免费的、是开放源代码的。
(19) Spring拥有众多社区支持。
四、Spring依赖注入方式:
使用Spring的依赖注入可以为对象注入属性值。Spring的依赖注入分为两种,一种是通过Set方法注入依赖,一种是通过构造函数注入依赖。
1)用其他的Bean注入(interfaceinjection)
接口注入指的就是在接口中定义要注入的信息,并通过接口完成注入。结合前面的示例,其具体步骤如下:
(1)编写一个接口IBusiness,各种数据库的注入将通过这个接口进行。
(2)任何想要使用数据库实例的类都必须实现这个接口,业务逻辑类Business实现这个接口IBusiness。Business.java的示例代码如下:
//******* Business.java************** this.db = db; } …… //根据注入的数据库类,从×××数据库中获取数据 public void getData() { …… db.getData(); …… } }
(3)编写测试类TestBusiness。TestBusiness.java的示例代码如下: //******* TestBusiness.java************** public class TestBusiness { private Business business = new Business(); …… //根据注入的数据库类,从Oracle数据库中获取数据 public void getData() { …… business. createDI (new OracleDataBase()); business.getData(); …… } }
如果要完成依赖关系注入的对象,必须实现IBusiness接口。 2)通过Set方法注入依赖(setter injection)
Set注入指的就是在接受注入的类中定义一个Set方法,并在参数中定义需要注入的元素。为了让类Business接受DataBase的注入,需要为它定义一个Set方法来接受DataBase的注入。Business.java的示例代码如下:
//******* Business.java************** public class Business { private DataBase db; public void setDataBase(DataBase db) { this.db = db; } …… //根据注入的数据库类,从×××数据库中获取数据 public void getData() { …… db.getData(); …… } }
3) 使用构造函数注入依赖(constructor injection) 构造注入指的就是在接受注入的类中定义一个构造方法,并在参数中定义需要注入的元素。为了让类Business接受DataBase的注入,需要为它定义一个构造方法,来接受
DataBase的注入。Business.java的示例代码如下: //******* Business.java************** public class Business { private DataBase db; public Business (DataBase db) { this.db = db; } …… //根据注入的数据库类,从×××数据库中获取数据 public void getData() { …… db.getData(); …… } }
五、Spring的自动装配:
自动装配包含如下四种类型:
1) byName:在IoC容器中寻找与Bean中属性名相同的id对应的Bean,如果找不到相符合的Bean,则该属性没有被装配上。
2) byType:在IoC容器中寻找与Bean中属性相同类型的Bean,如果找不到相符合的Bean,则该属性没有被装配上。如果找到多个相符合的Bean,则会抛出异常。
3) constructor:在IoC容器中寻找与Bean中构造函数参数一致的一个或多个Bean。如果存在不确定的Bean,则会抛出异常。
4) autodetect:自动模式,首先尝试使用constructor来自动装配,然后使用byType方式。
- 实习总结(十)---Spring的下载/安装/优点/依赖注入方式/自动配置
- 解释spring的ioc? 几种注入依赖的方式?spring的优点?
- Spring依赖注入的方式
- spring-依赖注入的方式
- spring依赖注入的方式
- spring依赖注入的方式
- Spring的依赖注入方式
- spring的依赖注入方式
- Spring的依赖注入方式
- Spring配置依赖注入的三种方式
- spring 配置bean的方法及依赖注入发方式
- spring 依赖注入方式总结详解
- spring中依赖注入方式总结
- Spring依赖注入的配置
- Spring学习总结(1.2)-依赖注入及配置了解
- spring 自动依赖注入
- Spring 自动注入依赖
- Spring 自动依赖注入
- httpwebresponse 异步: request.BeginGetRequestStream 报错! 无法发送具有此谓词类型的内容正文。
- 线性表的顺序存储结构的实现
- I2C之知(五)--I2C总线的10bit地址以及通用广播地址
- Properties读取文件缓存数据
- Linux怎么上QQ LinuxQQ2012详解
- 实习总结(十)---Spring的下载/安装/优点/依赖注入方式/自动配置
- Apache axis2 + Eclipse 开发 WebService
- 代码大全读书笔记 第16章 控制结构
- 阻抗匹配
- 退出登录,清除Session
- 公司系统上海一客户的系统调优(一)-- 初步测试和分析
- android ListView异步加载图片(双缓存)
- .修改android选择壁纸来源列表
- 嵌入式视频采集编程思路(Video 4 Linux)