Posted on 2011-04-28 12:19
哈希 閱讀(172)
評(píng)論(0) 編輯 收藏 所屬分類:
java 常用框架
如下分成5個(gè)步驟
1,建立xml文件
2,建立bean的接口
3,建立bean
4,寫測(cè)試程序
5,測(cè)試
準(zhǔn)備工作
環(huán)境配置如下,需要spring.jar和common-logging.jar兩個(gè)jar文件
開(kāi)始
1,建立xml文件
文件名:beans.xml
文件位置:src目錄下
文件內(nèi)容:
<?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
文件內(nèi)容:
package test.service;
public interface Hello {
public void sayHello();
}
3,建立bean
文件名:HelloBean.java
文件內(nèi)容:
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("這是一個(gè)測(cè)試程序");
}
}
4,寫測(cè)試程序
文件名:FirstSpring.java
文件內(nèi)容:
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,測(cè)試
運(yùn)行FirstSpring.java文件,得到輸出結(jié)果如下:
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
這是一個(gè)測(cè)試程序
上面紅字是spring輸出的調(diào)試信息,藍(lán)字是hellobean實(shí)際輸入的內(nèi)容。
簡(jiǎn)單總結(jié):
1,環(huán)境配置中不要忘記了common-logging.jar文件,我最開(kāi)始忘記了,還是用junit測(cè)試的,結(jié)果就是不通過(guò)。出錯(cuò)的原因也不明白。后來(lái)直接改成普通的main方法測(cè)試,才明白原因。
2,bean的接口和實(shí)現(xiàn)的分離在spring中被貫徹執(zhí)行。同時(shí)理解一下IOC(控制反轉(zhuǎn))的概念。
3,spring中的bean,應(yīng)該指的是執(zhí)行各種業(yè)務(wù)的業(yè)務(wù)bean才是。不同于strut的formbean和對(duì)應(yīng)db表對(duì)象的valuebean。