Spring内涵介绍(一)
Spring 是 ssh 三大框架之一,对于 spring 的学习我们首先要了解什么是 spring , spring 的特点是什么,
spring 包含哪些模块等问题。下面我们逐一了解一下 spring 的基础并附加学习案例。
Spring Framework 是 J2EE 应用程序开源框架,为企业应用程序开发的复杂性提供了一种轻量级解决方案。针对 Bean 的生命周期进行管理的轻量级容器。
Spring 是轻量级 IOC 和 ACP 容器框架。
Spring 框架由 7 个模块组成:
1、 核心容器: BeanFactory 类 (spring 框架的核心采用工厂模式实现 IOC)
2、 应用上下文模块:扩展了 BeanFactory
3、 AOP 模块:对面向切面提供了丰富的支持,是 Spring 应用系统开发切面的基础,并引入了 metodata 编程。
4、 JDBC 和 DAO 模块
5、 O/R 映射模块
6、 Web 模块
7、 MVC 框架
案例:应用简单的 spring 框架
在建好项目之后我们首先要引入 spring 的类库文件
E:\book\spring\spring-framework-2.5.6\dist---- à spring.jar
E:\book\spring\spring-framework-2.5.6\lib\jakarta-commons---- à commons-logging.jar
然后我们来看一下 spring 的 xml 文件 applicationContext.xml
代码如下: <?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"> <!-- 创建一个DAO的bean id是唯一的标识 class指明类路径 property是bean的属性 --> <bean id="greetingDAOImpl" class="cn.csdn.dao.GreetingDAOImpl"> <property name="say"> <value>Hello</value> </property> </bean> <!-- 创建一个Service的bean ref引用对象--> <bean id="greetingServiceImpl" class="cn.csdn.service.GreetingServiceImpl"> <property name="greetingDAOImpl" ref="greetingDAOImpl"></property> </bean> </beans> 解析:beans为根标签,beans中的bean对应的是每一个java文件bean中的id为每一个java文件的唯一标识,class为java文件的所在路径,property为java文件中定义的属性,vlaue是为其属性赋的值,ref为引用对象。 注:Spring的xml文件与其他Struts中的xml不同的是:spring中的xml文件可随意其文件名。其他框架的xml文件则不允许这样做。 DAO的实现类中的代码: package cn.csdn.dao; public class GreetingDAOImpl implements GreetingDAO { private String say; @Override public void say() { System.out.println("I want to say" + say); } public void setSay(String say){ this.say = say; } } 解析:GreetingDAOImpl实现了GreetingDAO接口 在此接口中只有一个void say()方法,此方法在GreetingDAOImpl中已经实现。 Service实现类的代码: package cn.csdn.service; import cn.csdn.dao.GreetingDAOImpl; public class GreetingServiceImpl implements GreetingService { private GreetingDAOImpl greetingDAOImpl; @Override public void say() { greetingDAOImpl.say(); } public void setGreetingDAOImpl(GreetingDAOImpl greetingDAOImpl) { this.greetingDAOImpl = greetingDAOImpl; } } 解析:与DAO的实现类一样,GreetingServiceImpl同样实现了GreetingService接口的方法,此方法中并没有继承接口GreetingDAO,而是自己单独写了一个与GreetingDAO接口中同样的void say()方法,并在此类中实现了它。同时在此方法中还定义了一个GreetingDAOImpl的实例,此实例并没有使用用new关键字,而是使用set()方法为此实例