1,定義資源檔案獲得資源檔案的訊息,國際化資訊
***x
將會搜尋***x.properties,***x_zh.properties ,***x_ch.properties等。
2,程式裡使用資源檔案 :ctx.getmessage('key',arg);
頁面上使用資源檔案:
3,使用其他檔案。
resource rs = ctx.getresource("classpath:config.properties");
file file = rs.getfile();
目錄規則:
file:c:/test。txt
/config.properties
classpath:config.properties
三種方式。
6,spring可以和很多框架進行整合。
struts+spring,webwork+spring。
7,spring可以有自己的排程類,dispatherservlet。
使用的配置檔案就是beans的配置,名字可以隨便取。
10,spring自帶的資料驗證功能。
10.1,驗證類作為aciotn的乙個名為「validator」的屬性在配置檔案中配置。
此類繼承org.springframework.validation.validator
需要實現兩個介面,support(傳入乙個類),驗證此類是否是action對應的form類。
validator(object obj,errors err )首先把obj轉為form類物件,如果有錯誤放到errors裡,用法和
struts類似。
10.2,表現層頁面需要的顯示錯誤
全部錯誤:
//遍歷status.errormessages
單個錯誤:
//遍歷status.errormessages
如果已經在action中配置了commandname,那麼就不使用command了,而是使用配置的名字
registerinfo
yyy可以按不同異常對映到不同的頁面。
異常頁面從request.getattribute("exception")取得exception物件。顯示他的message屬性。
12,國際化
看完1後,補充如下:
spring判斷使用者locale的方式有三種,request中取,session中取,cookie中取客戶端的locale。
分別用三個類,配置到配置檔案中。
13,資料持久層(重要)對事務的封裝
spring是依賴容器的引數化事務管理不用寫**。
見p67。
1,在配置檔案中配置完資料來源,
2,之後配置事務管理的bean,資料來源是它的屬性。
3,dao,事務員是它的屬性。
4,事務beandaoproxy,事務策略,事務bean,dao都是它的屬性。
14,資料持久層,對jdbc的封裝
org.springframework.jdbc.core.jdbctemplate.
jdbctemplate jdbctemplate = new jdbctemptlate( datasource );
jdbctemplate.update("***xx");
jdbctemplate.update("***xx",new preparedstatementsetter()
});jdbctemplate.query("select ...",new rollbackhandler()
});.call()可以呼叫儲存過程。
query,update還有很多不同版本的實現。
15, jdbc封裝還要引入事務管理機制,預設是沒有事務的。
兩種方式
1,**控制的,在dao裡transactiontemplate使用它的方法。
2,引數化配置的事務。配置乙個proxydao,不用寫這個類,只需要在配置檔案裡增加他對dao的事物設定。
使得dao**十分簡潔。
測試**:
inputstream is = new fileinputstream("***.xml");
xmlbeanfactory factory = new xmlbeanfactoy( is );
userdao dao = (userdao)factory.getbean("proxydao");
dao.insert();//這樣就行了
16,hibernate in spring
只需修改配置檔案增加乙個bean名字為sessionfactory,資料來源作為他的屬性。
trsactionmanager的屬性:sessionfactory
idao介面:定義資料庫操作方法。
dao的屬性:sessionfactory。繼承hibernatedaosupport,並實現idao介面。
裡面使用gethibernatetemplate模版進行資料庫操作。
proxydao的屬性:transactionmanager,dao.
測試例子:
iuserdao dao=(iuserdao)factory.getbean("proxyuserdao");
user user = new user();
user.set***...
dao.insertorupdate(user);
Spring 學習筆記(一)
spring 學習筆記 一 throws illegalstateexception,bean ception catch runtimeexception ex catch error err class contextclass determinecontextclass servletcont...
Spring學習筆記(一)
spring學習筆記 spring實戰第三版第二章 宣告bean 建立spring配置 spring核心框架自帶了10個命名空間配 1 aop 為宣告切面及將 aspectj註解的類 為spring切面提供配置元素 2 beans 支援宣告bean和裝配bean 3 context 為配置應用上下文...
Spring學習筆記(一)
由於公司專案的原因,開始接觸到sprin,從一臉懵逼開始,於是一邊請教同學,一邊買了本spring實戰開始看起來,現在簡單記錄下,加深記憶.在我目前學習過程而言,對spring的認識還在於通過xml配置檔案的依賴注入實現物件之間的松耦合。依賴注入主要有三種形式 構造器注入,setter注入和p注入,...