版權聲明:本文爲博主原創文章,未經博主容許不得轉載。html
1、軟件版本java
spring-framework-4.0.7.RELEASE-distspring
jdk1.7.0.79(本人本身使用的)框架
myeclipse9.1(本人本身使用的)eclipse
2、搭建測試工程測試
打開eclipse,新建Java工程 SpringSource,創建目錄結構。導入spring的jar包,分別爲CORE包和Beans包,固然還有一個Log的依賴包。this
spring-core-4.0.7.RELEASE.jarspa
spring-beans-4.0.7.RELEASE.jar.net
commons-logging-1.1.3.jarxml
編寫測試用例
一、 新建spring-beans.xml文件
<?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.xsd">
<bean id="springTestBean" class="bean.SpringTestBean"/>
</beans>
二、 新建SpringTestBean.java文件
- package bean;
-
- public class SpringTestBean {
-
- private String testStr = "testStr";
-
- public String getTestStr() {
- return testStr;
- }
-
- public void setTestStr(String testStr) {
- this.testStr = testStr;
- }
-
- }
三、新建BeanFactoryTest.java文件
- package bean;
-
- import org.springframework.beans.factory.BeanFactory;
- import org.springframework.beans.factory.support.DefaultListableBeanFactory;
- import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
- import org.springframework.beans.factory.xml.XmlBeanFactory;
- import org.springframework.core.io.ClassPathResource;
-
- public class BeanFactoryTest {
-
- public static void main(String[] args) {
-
-
- BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-beans.xml"));
- SpringTestBean bean = (SpringTestBean)beanFactory.getBean("springTestBean");
- System.out.println(bean.getTestStr());
-
- }
- }
到如今爲止,框架已經搭建好了。要是沒有問題的話,運行BeanFactoryTest.java這個類的main方法就能夠得出結果。
在企業級的應用中通常會用ApplicationContext。在這裏使用了BeanFactory這個接口,固然在spring4.0中,官方也不建議只用XmlBeanFactory這個類了。因此在註釋中我用了另外一個方式取代了XmlBeanFactory這個類,可是爲了和spring3.2以前的版本銜接上,因此仍是用XmlBeanFactory來講明一下。下面咱們來分析下上面的測試程序做了什麼工做:
一、 首先是程序讀取xml配置文件spring-beans.xml
二、 根據spring-beans.xml中的配置找到對應的類的配置(也就是xml文件中配置的bean),而且實例化
三、 調用第二步被實例化的對象的方法。
這個貌似很簡單的過程,spring做了哪些工做,做爲一個風靡java程序界的優秀源碼真的就是這麼簡單嗎?
經過這個簡單的測試工程,應該大體瞭解了beans工程的結構,下一次進入註釋掉的代碼的瞭解中,也就是spring的兩個核心的類DefaultListableBeanFactory和XmlBeanDefinitionReader。
二、 新建SpringTestBean.java文件
- package bean;
-
- public class SpringTestBean {
-
- private String testStr = "testStr";
-
- public String getTestStr() {
- return testStr;
- }
-
- public void setTestStr(String testStr) {
- this.testStr = testStr;
- }
-
- }
三、新建BeanFactoryTest.java文件
- package bean;
-
- import org.springframework.beans.factory.BeanFactory;
- import org.springframework.beans.factory.support.DefaultListableBeanFactory;
- import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
- import org.springframework.beans.factory.xml.XmlBeanFactory;
- import org.springframework.core.io.ClassPathResource;
-
- public class BeanFactoryTest {
-
- public static void main(String[] args) {
-
-
- BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-beans.xml"));
- SpringTestBean bean = (SpringTestBean)beanFactory.getBean("springTestBean");
- System.out.println(bean.getTestStr());
-
- }
- }
到如今爲止,框架已經搭建好了。要是沒有問題的話,運行BeanFactoryTest.java這個類的main方法就能夠得出結果。
在企業級的應用中通常會用ApplicationContext。在這裏使用了BeanFactory這個接口,固然在spring4.0中,官方也不建議只用XmlBeanFactory這個類了。因此在註釋中我用了另外一個方式取代了XmlBeanFactory這個類,可是爲了和spring3.2以前的版本銜接上,因此仍是用XmlBeanFactory來講明一下。下面咱們來分析下上面的測試程序做了什麼工做:
一、 首先是程序讀取xml配置文件spring-beans.xml
二、 根據spring-beans.xml中的配置找到對應的類的配置(也就是xml文件中配置的bean),而且實例化
三、 調用第二步被實例化的對象的方法。
這個貌似很簡單的過程,spring做了哪些工做,做爲一個風靡java程序界的優秀源碼真的就是這麼簡單嗎?
經過這個簡單的測試工程,應該大體瞭解了beans工程的結構,下一次進入註釋掉的代碼的瞭解中,也就是spring的兩個核心的類DefaultListableBeanFactory和XmlBeanDefinitionReader。