很久之前就想系統的學習和掌握Spring框架,但是拖了很久都沒有行動。現在趁着在外出差雜事不多,就花時間來由淺入深的研究下Spring框架。Spring框架這幾年來已經發展成為一個巨無霸產品。從最初的只是用來作為依賴注入到現在已經是無法不包。其涉及的領域有依賴注入、MVC、JMS、Web flow、Batch job、Web service、Security…..幾乎是涵蓋了技術開發的所有方面。本人雖然從事Java語言開發時間不長,但是對Spring中的很多組件都有所涉獵,比如上面列出的那幾個都有用過。可以說Spring是Java程序員必須要掌握的一個庫。
現在Spring的最新的穩定版本是4.0.2,該版本中包含了大量的新特性,是比較重要的一次release。本系列將基本使用該版本進行講解。
第一講就用一個簡單的例子開始吧,初步學會使用Spring-Context的依賴注入功能。
首先使用maven創建一個新的項目。
1
|
|
創建成功后在pom.xml文件中加入對Spring-Context的依賴。
1 2 3 4 5 6 7 |
|
然后我們創建一個MovieService的接口。
1 2 3 4 5 6 |
|
創建一個DefaultMovieService來實現這個接口。
1 2 3 4 5 6 7 8 |
|
然后創建一個Cinema類,會使用MoviceService來放電影。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
建立一個Application類。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
Ok,運行main函數,得到控制台輸出:
1
|
|
本例子中主要使用Annotation功能來實現對MoviceService的注入。我們將Cinema.java的頭部標注為@Component說明該類交由Spring托管。而Cinema.java中的屬性MoviceService標注為@Autowired,則Spring在初始化Cinema類時會從Application Context中找到類型為MovieService的Bean,並賦值給Cinema。在Application.java中我們聲明了一個類型為MovieService的Bean。並且標注Application.java為@Configuration,這是告訴Spring在Application.java中定義了一個或多個@Bean方法,讓Spring容器可以在運行時生成這些Bean。@ComponentScan則會讓Spring容器自動掃描當前package下的標有@Component的class,這些class都將由Spring托管。
本例中的源碼請在我的GitHub上自行下載。