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()方法为此实例通过xml文件为其赋值。这也是Spring与其他框架的不同之处。
以上为纯粹的个人总结若有偏差或解释不清之处,请留言…