spring框架

spring框架

Spring Framework是轻量级容器,它可以使用struts和webwork等众多的web应用程序结合使用,也可以单独使用。
一、spring的特点:
面向切面(aspect-oriented programming AOP),控制翻转(inversion of control IOC)
轻量:不依赖与其他的对象,单独使用
容器:xml中设置声明周期和配置
框架:系统中的对象通过xml文件配置组合起来的

二、Spring框架由7个部分组成
[b]工厂模式[/b]:一个类有好多的子类,类似于Singleton,
[b] 核心容器[/b]:包含beanFactory创建bean,实现ioc
[b]应用上下文模块[/b]:定制服务接口,扩展了BeanFactory,添加了对I18N(国际化)、系统生命周期事件及验证的支持,并提供许多企业级服务,如电子邮件服务。JNDI访问、EJB集成、远程调用及定时服务,并支持与模板框架的集成。
[b]Aop模块[/b]:对面向切面提供了丰富的支持,是spring应用系统开发切面的基础,并引入metadata编程
[b]Jdbc和dao模块[/b]:
[b] O/r映射模块[/b]:
[b]Web模块[/b]:建立在应用上下文模块的基础上,提供了合适web系统的上下文,另外,高模块支持多项面向web的任务,如透明处理都闻见上传请求,自动将请求参数绑定大语文对象中,等等。
Mvc模块:
所有的模块都是建立中核心模块容器之上的,容器规定如何创建、配置和管理Bean,以及其它细节

三、体验spring(myeclipse)
1)、首先搭建开发环境
使用spring需要的jar文件
进http://www.springsource.org/download官网
一般情况下至少用到spring.jar和commons-logging.jar这两个jar包,将这两个包build path到项目中。
、创建java类

先创建一个接口

public interface GreetingService {
// 定义接口中的方法
public void sayGreeting();
}

创建一个继承上面的那个接口的类

public class GreetingServiceImpl implements GreetingService {
// 定义私有的变量,必须有该变量的set方法
private String say;
public void setSay(String say) {
this.say = say;
}
// 重写父类的方法
@Override
public void sayGreeting() {
// TODO Auto-generated method stub
System.out.println("我说的是:"+say);
}
}

再创建一个继承上面的接口的类

public class greetingServiceImpl2 implements GreetingService{
// 定义自己的私有变量,与上面那个类不同的是,这个变量是一个类的对象,同样也必须有set方法
private GreetingServiceImpl gsi;
public void setGsi(GreetingServiceImpl gsi) {
this.gsi = gsi;
}
//重写父类的方法
@Override
public void sayGreeting() {
// TODO Auto-generated method stub
gsi.sayGreeting();
}
}

3)、再在xml中配置,xml中的bean就是java类
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">

<!--第一个类,id是xml中唯一的标识,class是该类的路径 -->
<bean id="greetingServiceImpl" class="cn.csdn.service.GreetingServiceImpl">
<!-- 设置第一个类中的属性的值 -->
<property name="say" value="hello"></property>
</bean>
<!-- 设置第二类 -->
<bean id="greetingServiceImpl2" class="cn.csdn.service.greetingServiceImpl2">
<!-- 设置第二个类的属性,因为它是类的对象,要用的ref -->
<property name="gsi" ref="greetingServiceImpl"></property>
</bean>
</beans>
4)、建立junit类测试
public class TestSpring {
@Test
public void test1() {
// 第一步:解析applicationContext.xml文件
ApplicationContext ac = new ClassPathXmlApplicationContext(
"applicationContext.xml");
// 第二步:调用getBean方法获取bean对象,要强制类型转换
// 先测试第一个类
GreetingServiceImpl greeting = (GreetingServiceImpl) ac
.getBean("greetingServiceImpl");
// 第三步:调用对象的响应的方法
greeting.sayGreeting();
// 输出分界线
System.out.println("=======================");
// 测试第二个类
greetingServiceImpl2 gsi2 = (greetingServiceImpl2) ac
.getBean("greetingServiceImpl2");
// 调用该类的方法
gsi2.sayGreeting();
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值