好久没来这里了,看了Rod Johnson的<<J2EE Development without EJB>>并参加了BEA日后深有感触,决定也参与到POJO的实施中,Hibernate和Spring完美结合使我对POJO完全取代EJB那一天的到来充满信心,鉴于我的博客上只有Hibernate和struts的文章,而缺少了POJO开发中重要的成员Spring,所以特地做了例子,与大家一起分享.
Spring--是轻量级组件部署和运行的容器,是一个解决了许多在J2EE开发中常见的问题的强大框架.Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的.生成一个对象使用new方法对面向对象程序设计来说本身就是一个小小的缺陷,使用Spring的依赖注入特性能改变这一切.
好了,说了那么多,接下来让我们开始建立简单的Spring应用吧.
1.首先我们需要去Spring的官方网站http://www.springframework.org/下载Spring API,如下图所示:
另外,我们还需要使用到struts API中的commons-logging.jar,在eclipse中新建一个项目,然后将这两个包导入即可导入后的环境如下图所示:
2.接下来我们要为Spring Project添加代码,添加的代码如下所示:
①Action.java(接口类)
package net.xiaxin.spring.qs;
public interface Action {
public String execute(String str);
}
②LowerAction.java,UpperAction.java(两个大小写转换的工具类)
LowerAction.java:
package net.xiaxin.spring.qs;
public class LowerAction implements Action{
private String message;
/**
* @return
*/
public String getMessage() {
return message;
}
/**
* @param string
*/
public void setMessage(String string) {
message = string;
}
public String execute(String str){
return (getMessage()+str).toLowerCase();
}
}
UpperAction.java:
package net.xiaxin.spring.qs;
public class UpperAction implements Action{
private String message;
/**
* @return
*/
public String getMessage() {
return message;
}
/**
* @param string
*/
public void setMessage(String string) {
message = string;
}
public String execute(String str){
return (getMessage()+str).toUpperCase();
}
}
③bean.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<description>Spring Quick Start</description>
<bean id="TheAction1" class="net.xiaxin.spring.qs.UpperAction">
<property name="message">
<value>Hello1</value>
</property>
</bean>
<bean id="TheAction2" class="net.xiaxin.spring.qs.LowerAction">
<property name="message">
<value>Hello2</value>
</property>
</bean>
</beans>
搭建好的结构如下图所示:
3.最后我们写一个测试类调用上述代码.
package test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import net.xiaxin.spring.qs.Action;
public class testQuickStart {
public static void main(String args[]){
ApplicationContext ctx = new FileSystemXmlApplicationContext("bean.xml");
Action action1 = (Action)ctx.getBean("TheAction1");
System.out.println(action1.execute("zhaolin"));
Action action2 = (Action)ctx.getBean("TheAction2");
System.out.println(action2.execute("zhaolin"));
}
}
最后的结构如下:
4.运行我们的测试类可以得到以下结构:
我们的小例子完成了,Spring的基础知识这里就不提了,大家根据基础知识结合这个例子就可以对Spring有个初步的了解了.