第一篇:spring教學大綱
Spring教學大綱
1.Spring簡介:一站式框架 Spring能為我們帶來什么? a)使層與層之間只依賴于接口
b)Spring的bean工廠為我們創(chuàng)建對象,不需要程序員自己new對象了(IOC:inverse of control控制反轉,DI:depandency injection 依賴注入)c)可以管理事務
d)可以對其他框架進行管理(struts2,hibernate)e)也可以使用spring自帶的springMVC框架 f)也可以使用spring的JDBC模板
2.Spring IOC(DI)常用的注入方式: 1.構造器注入
2.setter注入(set方法注入)(常用)注意:setter方法注入,必須提供無參構造方法 3.Spring Bean的范圍 常用的范圍:
Singleton:單例模式,建議不要存在具有狀態(tài)的成員變量,該項為默認項
Prototype:只要使用該對象,那就創(chuàng)建一個新的 注意:spring在與struts2整合時,需要將產生action的bean,配置為scope=”prototype” 4.Spring自動裝配 a)byName 要求:bean id必須與包含此類成員的類的成員變量名相同
b)byType 根據類型查找,將查找到的對象注入到成員變量中
5.使用spring自帶的JDBC模板
6.事務管理
7.Spring管理hibernate 8.spring整合struts2 步驟:
1.在項目中要引入struts2-spring-plugin-x-x-x.jar文件,該文件的位置:struts2的lib目錄下
2.在struts.xml中配置:
contextConfigLocation
classpath*:applicationContext-beans.xml
注意:在spring中生成action對象時,最好配置scope=”prototype”
9.Ssh整合開發(fā)
第二篇:spring總結
Spring 一:Spring流程
1.創(chuàng)建一個java項目
2.導入spring的支持包
3.寫一個類作為被啟動的類
4.書寫spring的配置文件
5.啟動spring容器
6.使用spring容器創(chuàng)建目標類對象
7.對象進行操作 二:springIOC
1.springIOC也叫作控制反轉,就是讓spring容器控制目標類的創(chuàng)建,初始化,銷毀等操作。當spring是多例的時候并不能控制對象的銷毀
創(chuàng)建bean的三種形式:
1.利用默認的構造器(必須有默認的構造函數)
2.利用靜態(tài)構造方法(利用靜態(tài)代碼塊)
3.利用實例工廠方法 只學習了兩種:
創(chuàng)建bean的時機:
別名:alias
Spring的創(chuàng)建和銷毀:
*初始化:
由spring容器調用init方法
在構造函數之后執(zhí)行
*銷毀:
單例時,由spring容器執(zhí)行銷毀操作,并且對象必須為ClassPathXmlApplicationContext的時候才可以,多例的情況下spring不能銷毀他
三:springDI:依賴注入:給屬性賦值
1.在spring中基本數據類型包括包裝類和String類型
2.基本數據類型使用set方法賦值時依據的是setxxx的方法名,所以屬性名和方法名要一致。
1.利用set方法給屬性賦值
構造函數給屬性賦值.xml
2.注解的匹配:
1、導入命名空間
xmlns:context=“http://004km.cn.itcast.spring0909.scan”> 原理
*
* 啟動spring容器,加載配置文件
*
* spring容器解析到
*
* spring容器會在指定的包及子包中查找類上是否有@Component *
* 如果@Component注解沒有寫任何屬性
*
@Component *
public class Person{ *
*
} *
== *
如果@Component(“aa”)*
@Component *
public class Person{ *
*
} *
== *
* 在納入spring管理的bean的范圍內查找@Resource注解
*
* 執(zhí)行@Resource注解的過程
* 說明:
*
xml效率比較高,但是書寫比較麻煩 *
注解效率比較低,書寫比較簡單
繼承:
四:代理
代理比較簡單,所以先不寫。
1.如何使用 Java 動態(tài)代理。具體有如下四步驟:
1.通過實現 InvocationHandler 接口創(chuàng)建自己的調用處理器;
2.通過為 Proxy 類指定 ClassLoader 對象和一組 interface 來創(chuàng)建動態(tài)代理類; 3.通過反射機制獲得動態(tài)代理類的構造函數,其唯一參數類型是調用處理器接口類型;
4.通過構造函數創(chuàng)建動態(tài)代理類實例,構造時調用處理器對象作為參數被傳入。
1.SpringAOP的各個概念:
1.切面:就是流程中需要執(zhí)行的類
2.通知:切面中的方法
3.切入點:就是invoke方法中方法執(zhí)行的條件
4.目標對象:被代理對象
5.aop對象:代理對象
6.織入:形成代理方法的過程
7.連接點:客戶端調用的方法 代理對象的方法等于通知+目標方法。
1.Spring注解用的很少,了解就可以了。五:struts2深度解析:
六:spring和hibernate整合1.切入點表達式:
/表示文件夾,.表示包 七:三大框架整合 三大框架的整合步驟:
* 新建一個工程
* 把整個工程的編碼改變成utf-8
* 把整個jsp頁面也改變成utf-8
* 導包
web-inf
lib
struts
hibernate
spring
db
junit
* 建三個src folder
src
存放源代碼的
cn.itcast.s2sh0909.struts2.action
cn.itcast.s2sh0909.dao
cn.itcast.s2sh0909.dao.impl
cn.itcast.s2sh0909.service
cn.itcast.s2sh0909.service.impl
cn.itcast.s2sh0909.domain
config
存放所有的配置文件
struts2
hibernate
spring
applicationContext.xml
applicationContext-db.xml
...........test
存放測試類
cn.itcast.s2sh0909.test
* 在dao和service層相應的包中寫接口和類
* 在applicationContext-db.xml文件中寫sessionFactory
* 在cn.itcast.s2sh0909.test包中新建一個類SessionFactoryTest,目的是為了測試SessionFactory
是否配置正確
* 寫spring的聲明式事務處理
* 在spring的配置文件中寫dao和service
* 通過savePerson方法測試聲明式事務處理
在Struts.xml中的action配置中,class應該寫applicationContext.xml中配置Action類bean的id.
第三篇:spring教學設計稿
Spring 教學目標:
1.能聽、說、認讀描述春天的詞句。如:The grass is green.等。
2.能用Let’s ….We can….The … is/are….等句子在具體的情境中運用。
3.感受英語詩歌的韻律和美感。4.能讓學生懂得珍惜時間并熱愛生活。教學重難點:
掌握新句型并靈活運用。教具準備:
圖片、課件等。教學過程:
Step I Warming-up/Revision.1.Free talk.2.Let’s do.設計說明:通過師生的交流和輕松的TPR活動拉近師生的距離,激發(fā)學生的學習興趣,營造輕松快樂的學習氣氛,同時復習舊知,為新授作鋪墊。
Step II Presentation/Practise 1.呈現并操練描述春天的句子。① W V N
grass
The grass is green.② Riddle
flower
The flowers are beautiful.③ O Y
tree
The trees are green.④ Riddle
bird
The bird is coming.⑤ spring Wow!What a nice spring!⑥ Group work: Describe the pictures of spring.設計說明:通過猜謎等活動,自然引出春天的景物,精美的畫面讓學生感受春天的美,并結合恰當的設問,激發(fā)學生表達的欲望,達到啟發(fā)智力的作用。
2.呈現并操練表達春天活動的句子。① We can fly kites in spring.Group work: Talk about the activities in spring.設計說明:通過小組活動,面向全體,培養(yǎng)學生的合作能力。在學習新知的同時,有效滾動舊知。
② Let’s plant trees.Group work: Make a picture of spring.設計說明:創(chuàng)設情景,拓展語言。3.呈現并操練小詩。① Listen to the poem.② Read and enjoy the poem.設計說明:在悠揚的音樂聲中,讓學生學會靜靜地聆聽,并通過師生聲情并茂的朗誦,讓學生充分感受英語語言的美。
Step III Consolidation/Extension 1.Creat a new poem of spring.設計說明:通過創(chuàng)編小詩,給學生自由發(fā)揮的空間,培養(yǎng)學生綜合運用語言的能力。
2.Enjoy fall.設計說明:結合實際,由春天自然過渡到秋天,通過欣賞并描述秋天的景色,滲透珍惜時間,熱愛生活的思想。
3.Homework.
第四篇:Spring 事物機制總結
spring兩種事物處理機制,一是聲明式事物,二是編程式事物 聲明式事物
1)Spring的聲明式事務管理在底層是建立在AOP的基礎之上的。其本質是對方法前后進行攔截,然后在目標方法開始之前創(chuàng)建或者加入一個事務,在執(zhí)行完目標方法之后根據執(zhí)行情況提交或者回滾事務。聲明式事務最大的優(yōu)點就是不需要通過編程的方式管理事務,這樣就不需要在業(yè)務邏輯代碼中摻雜事務管理的代碼,只需在配置文件中做相關的事務規(guī)則聲明(或通過等價的基于標注的方式),便可以將事務規(guī)則應用到業(yè)務邏輯中。因為事務管理本身就是一個典型的橫切邏輯,正是AOP的用武之地。Spring開發(fā)團隊也意識到了這一點,為聲明式事務提供了簡單而強大的支持。Spring強大的聲明式事務管理功能,這主要得益于Spring依賴注入容器和Spring AOP的支持。依賴注入容器為聲明式事務管理提供了基礎設施,使得Bean對于Spring框架而言是可管理的;而Spring AOP則是聲明式事務管理的直接實現者。和編程式事務相比,聲明式事務唯一不足地方是,后者的最細粒度只能作用到方法級別,無法做到像編程式事務那樣可以作用到代碼塊級別。但是即便有這樣的需求,也存在很多變通的方法,比如,可以將需要進行事務管理的代碼塊獨立為方法等等。2)5種配置方式
Spring配置文件中關于事務配置總是由三個組成部分,分別是DataSource、TransactionManager和代理機制這三部分,無論哪種配置方式,一般變化的只是代理機制這部分。
DataSource、TransactionManager這兩部分只是會根據數據訪問方式有所變化,比如使用hibernate進行數據訪問時,DataSource實際為SessionFactory,TransactionManager的實現為HibernateTransactionManager。關系圖如下:
[html] view plain copy
1.
3.4.5.
6.7.
8.
9.10.
注意:sessionFactorty和transactionManager是下面5中配置方式的基本配置,第一種方式:每個Bean都有一個代理
[html] view plain copy
1.
2.
3.4.
5.6.
7.
8.9.
10.11.
12.13.
14.PROPAGATION_REQUIRED
15.
16.
17.
第二種方式:所有Bean共享一個代理基類
[html] view plain copy
1.
2.
3.4.
5.6.
7.PROPAGATION_REQUIRED
8. 9.
10.
11.12.
13.
14.15.
16.17.
18.19.
第三種方式:使用攔截器
[html] view plain copy
1.
2.3.
4.5.
6.PROPAGATION_REQUIRED
7.
8.
9.
10.11.
12.13.
14.
15.
16.
17.18.
19.
20.
21.
22.
23.24.
25.
26.27.
第四種方式:使用tx標簽配置的攔截器
[html] view plain copy
1.
3.
5.
6.7.
8. 9.expression=“execution(* com.test.spring.dao.*.*(..))” /> 10. 11. 第五種方式:全注解 [java] view plain copy 1.public class test { 2.@Transactional 3.public class UserDaoImpl extends HibernateDaoSupport implements UserDao { 4.5.public List 7.} 8.} 9.} 編程式事務 Spring的編程式事務即在代碼中使用編程的方式進行事務處理,可以做到比聲明式事務更細粒度。有兩種方式一是使用TransactionManager,另外就是TransactionTemplate。1)TransactionManager使用方式 [java] view plain copy 1.public class UserDaoImpl extends HibernateDaoSupport implements UserDao { 2.private HibernateTransactionManager transactionManager;3.private DefaultTransactionDefinition def;4.5.public HibernateTransactionManager getTransactionManager(){ 6.return transactionManager;7.} 8.9.public void setTransactionManager(HibernateTransactionManager transactionManager){ 10.this.transactionManager = transactionManager;11.} 12.13.public void createTransactionDefinition(){ 14.def = new DefaultTransactionDefinition(); 15.def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);16.def.setIsolationLevel(TransactionDefinition.ISOLATION_READ_COMMITTED);17.} 18.19.public void saveOrUpdate(User user){ 20.TransactionStatus status = transactionManager.getTransaction(def);21.try { 22.this.getHibernateTemplate().saveOrUpdate(user);23.} catch(DataAccessException ex){ 24.transactionManager.rollback(status);25.throw ex; 26.} 27.transactionManager.commit(status);28.} 29.} 2)TransactionTemplate方式 [java] view plain copy 1.ResultDto ret = null; 2.ret =(ResultDto)this.transactionTemplate.execute(new TransactionCallback(){ 3.@Override 4.public Object doInTransaction(TransactionStatus status){ 5.ResultDto ret = null; 6.try { 7.drillTaskDao.deleteByKey(taskid); 8.} catch(Exception e){ 9.logger.error(“delDrillTask:” + e.getMessage(), e); 10.ret = ResultBuilder.buildResult(ResultBuilder.FAIL_CODE, null, ErrorCode.COM_DBDELETEERROR);11.return ret;12.} 13.finally { 14.status.setRollbackOnly();15.} 16.17.ret = cleartaskrelativedata(taskid, appid, true);18.return ret;19.} 20.}); 21.return ret; 英語詩歌:Spring(春天) Sound the Flute!Now it's mute.Birds delight Day and Night.Nightingale In the dale, Lark in Sky Merrily Merrily Merrily to welcome in the Year.Little Boy Full of joy.Little Girl Sweet and small.Cock does crow, So do you.Merry voice, Infant noise, Merrily Merrily to welcome in the Year.Little Lamb, Here I am, Come and lick My white neck.Let me pull Your soft Wool.Let me kiss Your soft face.Merrily Merrily we welcome in the Year.把笛子吹起!現在它無聲無息。白天夜晚 鳥兒們喜歡。有一只夜鶯 在山谷深深,天上的云雀,滿心喜悅,歡天喜地,迎接新年到。小小的男孩 無比歡快。小小的女孩 玲瓏可愛。公雞喔喔叫,你也叫聲高。 愉快的嗓音,嬰兒的鬧聲,歡天喜地,迎接新年到。 小小的羊崽,這里有我在,走過來舔舐 我白白的脖子。 你的毛柔軟,讓我牽一牽。 你的臉嬌嫩,讓我吻一吻。 歡天喜地,我們迎接新年到。 威廉·布萊克是十九世紀英國浪漫派詩人,主要詩作有詩集《天真之歌》、《經驗之歌》等。早期作品簡潔明快,中后期作品趨向玄妙晦澀,充滿神秘色彩。本詩選自《天真之歌》。 春天來了,萬物復蘇。這表現在動物的活動上:鳥兒歡騰,公雞鳴叫,云雀在天上翻飛,夜鶯在山谷間歌唱;也表現在孩子們的活動上:歡蹦亂跳,笑語喧嘩,跟小動物一塊兒玩耍。 這首詩的三節(jié)像三個變焦電影鏡頭:由遠而近依次是山谷樹林、村莊農舍,然后聚焦在一個與羊羔相戲的兒童身上。意象鮮明、具體、生動,趣味盎然。而詩以兒童的口吻寫出,反映了孩子們對春天的感受。詩行由片語和短句組成,注意押韻和反復,幾近童謠,輕松自然,瑯瑯上口,讀來頗有春天氣息撲面而來的新鮮感。第五篇:英語詩歌:Spring(春天)