【Spring】Spring3.0.5的下載、配置與Helloworld
Spring這東西其實沒有想象中這麼難,只是由於網上大部分資料雜糅了許多其它奇奇怪怪的技術,什麼Maven,log4j,什麼東西都來,還有上來就將SSH整合的,那叫初學者,怎麼可能看懂?下面以一個最簡單,無其它額外的技術,講解一下Spring。
一、Spring下載
首先,Spring的下載就是一個問題。這些框架的官網改來改去,然後在強推其新技術,把歷史版本通通都去掉了。正如ExtJs一樣,只能在國內的網上搜一下歷史版本下載。要搞Spring3.0要下兩個壓縮包。一個是spring-framework-3.0.5.RELEASE-with-docs.zip,另一個是spring-framework-3.0.5.RELEASE-dependencies.zip。
這裡感謝,兩位CSDN網友無私提供的下載地址。
二、Spring的配置
Spring在配置的時候也是非常蛋疼的。在解壓spring-framework-3.0.5.RELEASE-with-docs.zip與spring-framework-3.0.5.RELEASE-dependencies.zip之後,某些書籍上說把spring-framework-3.0.5.RELEASE-with-docs.zip\dist的所有內容與spring-framework-3.0.5.RELEASE-dependencies.zip的內容拷貝進去,然後新增進你的Java或者JavaWeb工程裡面,最後你會發現新增完畢之後,發現你的Java或者JavaWeb工程無法執行。這是由於在spring-framework-3.0.5.RELEASE\dist中,多出一個不該存在LIBD檔案。
因此,正確做法是,在Eclipse新建一個Java工程之後,下面以Java工程做例子,因為Spring其實與Javaweb半點關係都沒有,只是把Java的東西用於Javaweb工程而已!
在Eclipse新建一個名為SpringHelloworld的Java工程之後,新建一個lib資料夾,解壓之後,把spring-framework-3.0.5.RELEASE-dependencies的所有東西與spring-framework-3.0.5.RELEASE\dist中的所有Jar包,不包括那個LIBD檔案,拷貝到Java工程下的lib資料夾,搞好之後,你的lib資料夾,應該如下所示:
之後,右鍵這個名為SpringHelloworld的Java工程,選擇屬性,之後選擇Add Jars包,把剛才拷貝到lib資料夾中的Jar包都選擇,再選擇“確定”,具體如下圖:
至此,Spring配置完畢。
三、Spring的Helloworld
1、首先在src直接新建一個包含主函式的SpringTest.java的Java檔案,裡面的程式碼如下。
import org.springframework.context.*;
import org.springframework.context.support.*;
public class SpringTest {
public static void main(String[] args) {
//初始化Spring
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
//為這個SpringTest.java注入A.java這個類,
A a=applicationContext.getBean("aJava",A.class);
//注入之後可以直接使用A這個類
a.print();
}
}
2、之後再於在src新建一個A.java,裡面的程式碼如下,簡單得不能再簡單,只是這裡必須嚴格按照Spring的規定,變數一定要是私有的,裡面一定要有一個setter方法。
public class A {
private String a;
public void setA(String a) {
this.a = a;
}
public void print() {
System.out.println("applicationContent.xml傳進來一個a值為:" + a);
}
}
3、最後同樣在src新建一個applicationContext.xml,裡面的程式碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="aJava" class="A">
<property name="a" value="呵呵"/>
</bean>
</beans>
4、做完之後,Java工程目錄應該如下:
回到SpringTest.java直接執行,執行結果如下,其中,那堆log4j警告不要理他,spring根本就不需要依賴於log4j執行。以後要用到再說。
四、總結
那麼上面的程式,到底是在做什麼呢?
其變數的傳遞如下,可能有點亂,大家湊合看吧!
其實不用Spring的話,在SpringTest.java,直接使用A a=new A("呵呵");然後再A.java寫好構造方法,完全可以達到如上的效果。即便A.java是在其他包,你也可以用import來引入A.java。這只是一種設計模式吧。據說,在JavaWeb中可以讓專案更加清晰,真的是“呵呵”了。
Spring其實就是取代原來java中的impor角色。