运行一个使 用Spring的Hello World程序至少需要这三个库:spring-core.jar,spring-beans.jar,commons-logging.jar,其中,Apache中的commons-logging.jar是必须的,用于日志处理,前面两个库要用到它,没有它Spring将会终止运行,而不象一些程序只给出警告信息后继续运行.
spring-core.jar提供方便的异常处理基本类,提供不特定于框架其它任何部分的核心接口,还提供由整个框架使用的文件资源通用抽象,以及支持类,如ResourcePatternResolver机制等.
spring-beans.jar 它包含了操作java beans的接口和类,包含Sping的轻量IOC容器实现以及一个基于XML的BeanFactory 实现, 还包括一些支持如定位和访问bean工厂的帮助器基础结构,工厂的配置类.
在以上三个库引入到一些开发环境如JBuilder,Eclipse,NetBean等中后,开始写下HelloWorld.java程序:
public class HelloBean {
private String helloWord = "Hello!World!";
public HelloBean() {
}
public void setHelloWord(String helloWord) {
this.helloWord = helloWord;
}
public String getHelloWord() {
return helloWord;
}
public String sayHelloWorld() {
return helloWord;
}
}
这个程序就是一个简单的java bean,没有引入任何其它的包,特别是没有引入Spring矿架的任何包.编译时也没有特别要求.下面写一个测试程序:
import org.springframework.core.io.*;
import org.springframework.beans.factory.xml.XmlBeanFactory;
public class SpringTest {
public static void main(String[] args) {
FileSystemResource is = new FileSystemResource("bean.xml");
XmlBeanFactory factory = new XmlBeanFactory(is);
HelloBean hello = (HelloBean) factory.getBean("helloBean");
System.out.println(hello.getHelloWord());
}
}
测试程序很简单,使用了基于XML的BeanFactory 实现的IOC,通过加载bean描述文件,IOC就可以管理这个bean的实例了,注意任何关于我们想要的bean的初始化代码,我们自己一行都没有写,这些工作就是IOC的工作了,我们需要做的就是调用工厂的getBean方法,传递一个在bean配置文件中的bean的属性ID名称即可,这个方法还有三个重载方法,以后在专门介绍Spring的IOC容器的时候详细说说.下面是HelloWorld这个bean的配置文件,注意要把这个文件放在应用根下.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="helloBean" class="springtest.HelloBean">
<property name="helloWord">
<value>Hello!liushufeng!</value>
</property>
</bean>
</beans>
最后,就可以运行测试程序了,通过修改value元素中的值,然后再次运行,看看有了什么变化.
如果我们写过自己的配置管理器的话,那么分析一下,调整到Spring提供的IOC容器上来,一定给你带来各种效率的提高,而需要在你的系统中加入这三个库即可,这个文件不算太大总共320多K.也许你早已经使用了commons-logging.jar.