spring框架(一些摘錄).doc_第1頁(yè)
spring框架(一些摘錄).doc_第2頁(yè)
spring框架(一些摘錄).doc_第3頁(yè)
spring框架(一些摘錄).doc_第4頁(yè)
spring框架(一些摘錄).doc_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Spring Framework 是一個(gè)開源的Java/Java EE全功能棧(full-stack)的應(yīng)用程序框架,以Apache許可證形式發(fā)布,也有.NET平臺(tái)上的移植版本。該框架基于 Expert One-on-One Java EE Design and Development(ISBN 0-7645-4385-7)一書中的代碼,最初由 Rod Johnson 和 Juergen Hoeller等開發(fā)。Spring Framework 提供了一個(gè)簡(jiǎn)易的開發(fā)方式,這種開發(fā)方式,將避免那些可能致使底層代碼變得繁雜混亂的大量的屬性文件和幫助類。Spring 中包含的關(guān)鍵特性: 強(qiáng)大的基于 JavaBeans 的采用控制翻轉(zhuǎn)(Inversion of Control,IoC)原則的配置管理,使得應(yīng)用程序的組建更加快捷簡(jiǎn)易。 一個(gè)可用于從 applet 到 Java EE 等不同運(yùn)行環(huán)境的核心 Bean 工廠。 數(shù)據(jù)庫(kù)事務(wù)的一般化抽象層,允許宣告式(Declarative)事務(wù)管理器,簡(jiǎn)化事務(wù)的劃分使之與底層無(wú)關(guān)。 內(nèi)建的針對(duì) JTA 和 單個(gè) JDBC 數(shù)據(jù)源的一般化策略,使 Spring 的事務(wù)支持不要求 Java EE 環(huán)境,這與一般的 JTA 或者 EJB CMT 相反。 JDBC 抽象層提供了有針對(duì)性的異常等級(jí)(不再?gòu)腟QL異常中提取原始代碼), 簡(jiǎn)化了錯(cuò)誤處理, 大大減少了程序員的編碼量. 再次利用JDBC時(shí),你無(wú)需再寫出另一個(gè) 終止 (finally) 模塊. 并且面向JDBC的異常與Spring 通用數(shù)據(jù)訪問(wèn)對(duì)象 (Data Access Object) 異常等級(jí)相一致. 以資源容器,DAO 實(shí)現(xiàn)和事務(wù)策略等形式與 Hibernate,JDO 和 iBATIS SQL Maps 集成。利用眾多的翻轉(zhuǎn)控制方便特性來(lái)全面支持, 解決了許多典型的Hibernate集成問(wèn)題. 所有這些全部遵從Spring通用事務(wù)處理和通用數(shù)據(jù)訪問(wèn)對(duì)象異常等級(jí)規(guī)范. 靈活的基于核心 Spring 功能的 MVC 網(wǎng)頁(yè)應(yīng)用程序框架。開發(fā)者通過(guò)策略接口將擁有對(duì)該框架的高度控制,因而該框架將適應(yīng)于多種呈現(xiàn)(View)技術(shù),例如 JSP,F(xiàn)reeMarker,Velocity,Tiles,iText 以及 POI。值得注意的是,Spring 中間層可以輕易地結(jié)合于任何基于 MVC 框架的網(wǎng)頁(yè)層,例如 Struts,WebWork,或 Tapestry。 提供諸如事務(wù)管理等服務(wù)的面向方面編程框架。 在設(shè)計(jì)應(yīng)用程序Model時(shí),MVC 模式(例如Struts)通常難于給出一個(gè)簡(jiǎn)潔明了的框架結(jié)構(gòu)。Spring卻具有能夠讓這部分工作變得簡(jiǎn)單的能力。程序開發(fā)員們可以使用Spring的 JDBC 抽象層重新設(shè)計(jì)那些復(fù)雜的框架結(jié)構(gòu)。以下是一些筆記:1.使用jar包spring.jarcommons-logging.jar使用aopaspectjweaver.jar , aspectjrt.jar, cglib-nodep-2.1_3.jar使用注解common-annotations.jar2.實(shí)例化容器ApplicationContext context=new ClassPathXmlApplicationContext(new String“beans.xml”);ApplicationContext context=new ClassPathXmlApplicationContext(“beans.xml”);ApplicationContext context=new FileSystemXmlApplicationContext(new String“d:beans.xml”);3.事務(wù)Transactional(propagation=Propagation.Required)4. 1) 單例模式下singleton:默認(rèn)情況下,加載beans.xml實(shí)例化各個(gè)bean /驗(yàn)證:構(gòu)造方法中輸出信息通過(guò)來(lái)延遲初始化bean,這時(shí),只有第一次獲取bean時(shí)才初始化2) scope=prototype時(shí),getBean(“”)時(shí)實(shí)例化bean加載實(shí)例后,執(zhí)行method方法關(guān)閉容器后,執(zhí)行method1方法三種實(shí)例化bean的方式1使用類構(gòu)造器實(shí)例化2.使用靜態(tài)工廠方法實(shí)例化public class OrdreFactorypublic static OrderFactory createOrder()return new OrderServiceBean();3.使用實(shí)例工廠方法實(shí)例化public class OrdreFactorypublic OrderFactory createOrder()return new OrderServiceBean();依賴注入手工裝配Autowired或Resource注解方式進(jìn)行裝配,common-annotations.jar這兩個(gè)注解的區(qū)別:Autowired默認(rèn)按類型裝配,Resource默認(rèn)按名稱裝配,當(dāng)找不到與名稱匹配的bean才會(huì)按類型裝配Beans.xml 導(dǎo)入beans xmlns:context=”/schema/context”1)public class PersonServiceBean implements PersonServiceResource /默認(rèn)按名稱裝配,當(dāng)找不到與名稱匹配的bean才會(huì)按類型裝配private PersonDao personDao;public void test()personDao.add();2)public class PersonServiceBean implements PersonServiceResource(name=”personDao”)private PersonDao personDao;public void test()personDao.add();3)public class PersonServiceBean implements PersonServiceprivate PersonDao personDao;Resourcepublic void setPersonDao (PersonDao personDao) this.personDao=personDao;public void test()personDao.add();Spring 自動(dòng)掃描和管理bean Spring2.5后Beans.xml 加入: /指定包下所有類1)Service /getBean(“personServiceBean”);名稱為類名,首字母小寫,默認(rèn)作用域?yàn)閟ingletonpublic class PersonServiceBean implements PersonServiceprivate PersonDao personDao;public void setPersonDao (PersonDao personDao) this.personDao=personDao;public void test()personDao.add();2)Service (“personService”) Scope(“prototype”)/指定bean名稱 聲明作用域 public class PersonServiceBean implements PersonServiceprivate PersonDao personDao;public void setPersonDao (PersonDao personDao) this.personDao=personDao;PostConstruct/初始化方法public void init()system.out.println(“加載初始化”);PreDestroy/關(guān)閉容器釋放public void

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論