spring快速入門教程_第1頁
spring快速入門教程_第2頁
spring快速入門教程_第3頁
spring快速入門教程_第4頁
spring快速入門教程_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

北京傳智播客教育spring入門

講師:袁杰北京傳智播客教育

第一章開始spring之旅北京傳智播客教育

Spring介紹Spring是一個非常活潑的開源框架,它是一個基于IOC和AOP來構架多層JavaEE系統(tǒng)的框架,它的主要目地是簡化企業(yè)開發(fā)Spring以一種非侵入式的方式來管理你的代碼,Spring提倡”最少侵入”,這也就意味著你可以適當的時候安裝或卸載SpringSpring框架的主頁:Spring框架下載地址:北京傳智播客教育

Spring模塊北京傳智播客教育

為什么要使用Spring在工程中引入spring立即可以帶來下面的好處降低組件之間的耦合度,實現軟件各層之間的解耦。

IOC(依賴注入):包含并管理應用對象的配置和生命周期,你可以配置你的每個bean如何被創(chuàng)立,也可以配置每個bean是只有一個實例,還是每次需要時都生成一個新的實例,以及它們是如何相互關聯的AOP(面向切面):采用了面向切面編程來實現很多根底但是與業(yè)務邏輯無關的功能的解耦,比方:事務管理、日志、權限驗證.....DAO:Spring還提供了對數據庫JDBC的封裝,使用JdbcTemplate來簡化數據操作ORM:提供了對主流的對象關系映射框架的支持JEE:對Java企業(yè)級開發(fā)提供了一些解決方案,例如EJB、JMS等WEB:提供了自己的SpringMVC和對顯示層框架的集合支持ControllerServiceDAO北京傳智播客教育

為什么要使用Spring當使用spring時,我們可以使用容器提供的眾多效勞北京傳智播客教育

控制反轉(IOC)IOC就是InversionOfControlpublicclassGirl{privateBoyboy=newBoy();publicvoidkiss(){System.out.println(boy.getName());}}boy是在應用內部創(chuàng)立及維護的。所謂控制反轉就是應用本身不負責依賴對象的創(chuàng)立及維護,依賴對象的創(chuàng)立及維護是由外部容器負責的。這樣控制權就由應用轉移到了外部容器,控制權的轉移就是所謂反轉,目的是為了獲得更好的擴展性和良好的可維護性。北京傳智播客教育

依賴注入(DI)DI就是DependencyInjection當我們把依賴對象交給外部容器負責創(chuàng)立,那么Girl類可以改成如下:publicclassGirl{privateBoyboy;publicvoidkiss(){System.out.println(boy.getName());}}所謂依賴注入就是指:在運行期,由外部容器動態(tài)地將依賴對象注入到另一個對象中。北京傳智播客教育

IOC和DI在spring中的實現案例:北京傳智播客教育

使用Spring需要的jar到下載spring,然后進行解壓縮,在解壓目錄中找到下面jar文件,拷貝到類路徑下--spring的核心類庫在spring文檔的dist下dist\spring.jar--引入的第三方類庫都spring文檔的lib下lib\jakarta-commons\commons-logging.jar北京傳智播客教育

spring的配置文件模版<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns=":///schema/beans"xmlns:xsi=":///2001/XMLSchema-instance":///schema/beans/spring-beans-2.5.xsd"> .....</beans>該配置模版可以從spring的參考手冊或spring的例子中得到。配置文件的取名可以任意,文件可以存放在任何目錄下,但考慮到通用性,一般放在類路徑下。例如:spring-framework-2.5.6\samples\petclinic\war\WEB-INF\applicationContext-hibernate.xml北京傳智播客教育

實例化spring容器實例化Spring容器常用的兩種方式:方法一:在類路徑下尋找配置文件來實例化容器ApplicationContextctx=newClassPathXmlApplicationContext(newString[]{"beans.xml"});可以在整個類路徑中尋找xml文件*通過這種方式加載。需要將spring的配置文件放到當前工程的classpath路徑下*classpath路徑指的是當前工程的src目錄,該目錄是java源文件的存放位置。方法二:在文件系統(tǒng)路徑下尋找配置文件來實例化容器ApplicationContextctx=newFileSystemXmlApplicationContext(newString[]{“d:\\beans.xml“});Spring的配置文件可以指定多個,可以通過String數組傳入。北京傳智播客教育

從spring容器中得到bean當spring容器啟動后,因為spring容器可以管理bean對象的創(chuàng)立,銷毀等生命周期,所以我們只需沉著器直接獲取Bean對象就行,而不用編寫一句代碼來創(chuàng)立bean對象。沉著器獲取bean對象的代碼如下:ApplicationContextctx=newClassPathXmlApplicationContext("beans.xml");

Girlgirl=(Girl)ctx.getBean("girl");北京傳智播客教育

第二章操作Bean北京傳智播客教育

三種實例化Bean的方式:1.使用類構造器實例化(默認無參數)北京傳智播客教育

三種實例化Bean的方式2.使用靜態(tài)工廠方法實例化北京傳智播客教育

三種實例化Bean的方式3.使用實例工廠方法實例化:北京傳智播客教育

指定Bean的初始化方法和銷毀方法Spring初始化bean或銷毀bean時,有時需要作一些處理工作,因此spring可以在創(chuàng)立和銷毀bean的時候調用bean的兩個生命周期方法。<beanid=“foo”class=“...Foo”init-method=“setup”destory-method=“teardown”/>當bean被載入到容器的時候調用setup當bean沉著器中刪除的時候調用teardown(scope=singleton有效)北京傳智播客教育

Bean的作用域.singleton(默認值)在每個SpringIoC容器中一個bean定義只有一個對象實例(共享)。默認情況下會在容器啟動時初始化bean,但我們可以指定Bean節(jié)點的lazy-init=“true”來延遲初始化bean,這時候,只有第一次獲取bean會才初始化bean。如:<beanid="xxx"class="cn.itcast.OrderServiceBean"lazy-init="true"/>.prototype允許bean可以被屢次實例化(使用一次就創(chuàng)立一個實例)北京傳智播客教育

Bean間的繼承關系如果多個Bean存在相同的配置信息,Spring允許定義一個父Bean,然后為其定義子Bean將自動繼續(xù)父Bean中的配置信息,子Bean也可覆蓋父Bean中的配置信息。北京傳智播客教育依賴注入使用屬性setter方法注入使用構造器注入注入依賴對象可以采用手工裝配或自動裝配,在實際應用中建議使用手工裝配,因為自動裝配會產生未知情況,開發(fā)人員無法預見最終的裝配結果。1.手工裝配依賴對象2.自動裝配依賴對象北京傳智播客教育依賴注入--手工裝配手工裝配依賴對象,在這種方式中又有兩種編程方式*在xml配置文件中,通過在bean節(jié)點下配置北京傳智播客教育依賴注入--手工裝配--XML方式通過setter方法注入依賴<bean>元素的<property>子元素指明了使用它們的set方法來注入??梢宰⑷肴魏螙|西,從根本類型到集合類,甚至是應用系統(tǒng)的bean。北京傳智播客教育依賴注入--手工裝配--XML方式通過setter方法注入依賴*簡單bean配置配置bean的簡單屬性,根本數據類型和String。北京傳智播客教育依賴注入--手工裝配--XML方式通過setter方法注入依賴*引用其它bean

北京傳智播客教育依賴注入--手工裝配--XML方式通過setter方法注入依賴*裝配集合A、裝配List和數組:

北京傳智播客教育依賴注入--手工裝配--XML方式通過setter方法注入依賴

*裝配集合

B、裝配set:

北京傳智播客教育依賴注入--手工裝配--XML方式通過setter方法注入依賴*裝配集合

C、裝配map:map中的<entry>的數值和<list>以及<set>的一樣,可以使任何有效的屬性元素,需要注意的是key值必須是String的。北京傳智播客教育依賴注入--手工裝配--XML方式通過setter方法注入依賴*裝配集合D、裝配Properties:

<!--裝配Properties--><propertyname="props"><props><propkey=“01”>prop1-字符串類型</prop>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論