概念:
Spring是一个开源的控制反转(Inversion of Control ,IoC)和面向切面(AOP)的容器框架.它的主要目得是简化企业开发.
控制反转:就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转.
依赖注入:就是指在运行期,由外部容器动态地将依赖对象注入到组件中。
为什么要使用spring?
至少在我看来,在项目中引入spring立即可以带来下面的好处
1.降低组件之间的耦合度,实现软件各层之间的解耦。
2.可以使用容器提供的众多服务,如:事务管理服务、消息服务等等。当我们使用容器管理事务时,开发人员就不再需要手工控制事务.也不需处理复杂的事务传播。
3.容器提供单例模式支持,开发人员不再需要自己编写实现代码。
4.容器提供了AOP技术,利用它很容易实现如权限拦截、运行期监控等功能。
5.容器提供的众多辅作类,使用这些类能够加快应用的开发,如: JdbcTemplate、 HibernateTemplate。
6.Spring对于主流的应用框架提供了集成支持,如:集成Hibernate、JPA、Struts等,这样更便于应用的开发。
7.如果使用Spring, 我们就不再需要手工控制事务
使用Spring,不再需要我们处理复杂的事务传播行为
使用Spring,我们只需要通过声明式的事务属性配置就可以轻松地实现这两种业务需求
搭建Spring开发环境:
首先需要下载 spring-framework-2.5.6-with-dependencies.zip 这个包包.
1.关键lib包
到http://www.springsource.org/download下载spring,然后进行解压缩,在解压目录中找到下面jar文件,拷贝到类路径下
dist\spring.jar
lib\jakarta-commons\commons-logging.jar
如果使用了切面编程(AOP),还需要下列jar文件
lib/aspectj/aspectjweaver.jar和aspectjrt.jar
lib/cglib/cglib-nodep-2.1_3.jar
如果使用了JSR-250中的注解,如@Resource/@PostConstruct/@PreDestroy,还需要下列jar文件
lib\j2ee\common-annotations.jar
2.配置模版
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean id="persionServiceBean" class="cn.com.xinli.service.impl.PersionServiceBean"></bean> </beans>
该配置模版可以从spring的参考手册或spring的例子中得到。配置文件的取名可以任意,文件可以存放在任何目录下,但考虑到通用性,一般放在类路径下。
小技巧: 此配置文件在eclipse 中会有提示标签的功能,那是因为eclipse会连接互联网找到相应的文件,因此由了提示功能,如果你的机器没有联网,或者没有提示标签的功能,你可以这样做
windows-preferences->web and xml ->xml catalog-> add->定位到spring-beans-2.5.xsd文件在硬盘中的位置(H:\电脑软件\java工具\spring-framework-2.5.6-with-dependencies\spring-framework-2.5.6\dist\resources\spring-beans-2.5.xsdspring-beans-2.5.xsd) -> KeyType 选择 schema Localtion -> key 本来是:http://www.springframework.org/schema/beans 在后面加上spring-beans-2.5.xsd ->OK