转自:http://www.blogjava.net/wshsdlau/archive/2011/04/28/349181.html
如下分成5个步骤
1,建立xml文件
2,建立bean的接口
3,建立bean
4,写测试程序
5,测试
准备工作
环境配置如下,需要spring.jar和common-logging.jar两个jar文件
开始
1,建立xml文件
文件名:beans.xml
文件位置:src目录下
文件内容:
<?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">
<!-- the application context definition for the springapp DispatcherServlet -->
<bean id="sayhello" class="test.service.impl.HelloBean"/>
</beans>
2,建立bean的接口
文件名:Hello.java
文件内容:
package test.service;
public interface Hello {
public void sayHello();
}
3,建立bean
文件名:HelloBean.java
文件内容:
package test.service.impl;
import test.service.Hello;
public class HelloBean implements Hello {
/* (non-Javadoc)
* @see test.service.impl.Hello#sayHello()
*/
public void sayHello() {
System.out.println("这是一个测试程序");
}
}
4,写测试程序
文件名:FirstSpring.java
文件内容:
package test.spring;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import test.service.Hello;
public class FirstSpring {
public static void main(String[] args) {
testHello();
}
public static void testHello() {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
Hello hello =(Hello) applicationContext.getBean("sayhello");
hello.sayHello();
}
}
5,测试
运行FirstSpring.java文件,得到输出结果如下:
2009-6-30 3:33:58 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [beans.xml]
2009-6-30 3:33:59 org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
信息: Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext@7259da]: org.springframework.beans.factory.support.DefaultListableBeanFactory@2e7820
2009-6-30 3:33:59 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
信息: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@2e7820: defining beans [sayhello]; root of factory hierarchy
这是一个测试程序
上面红字是spring输出的调试信息,蓝字是hellobean实际输入的内容。
简单总结:
1,环境配置中不要忘记了common-logging.jar文件,我最开始忘记了,还是用junit测试的,结果就是不通过。出错的原因也不明白。后来直接改成普通的main方法测试,才明白原因。
2,bean的接口和实现的分离在spring中被贯彻执行。同时理解一下IOC(控制反转)的概念。
3,spring中的bean,应该指的是执行各种业务的业务bean才是。不同于strut的formbean和对应db表对象的valuebean。