spring_2
1:
控制反轉:
控制反轉就是 應用本身不負責以來對象的創(chuàng)建及維護,以來對象的創(chuàng)建及維護是由外部容器負責的.這樣控制權就由應用轉移到了外部容器,控制權的轉移就是所謂反轉.
2:
依賴注入:
使用構造函數(shù) 或 setter 方法
3:
事務是局限在數(shù)據(jù)庫連接之內的,所以使用兩個連接的方法是不能使用同一個事務的.
解決辦法:
Connection conn = null;
conn.setAutoCommit(false);
Bean1.update(); // 更新金額
Bean2.save(); // 記錄操作日志
// 提交事務
4:
如果不論更新金額是否成功,都需要記錄日志,則需要使兩個方法分別使用不同的事務.
5:
Spring 聲名式事務
保證兩個方法在同一個事務中執(zhí)行,在方法的前面加上:
@Transactional(propagation=Propagation.Required)
使方法在新的事務中執(zhí)行:
@Transactional(propagation=Propagation.RequiredNew)
6:
Spring 給我們帶來的好處:
(1): 降低組件之間的耦合度,實現(xiàn)軟件各層之間的解耦
(2): 可以使用容器提供的眾多服務,如:事務管理服務,消息服務等等.
當我們使用容器管理事務時,開發(fā)人員就不需要手工控制事務,也不需要處理復雜的事務傳播.
(3): 容器提供單利模式支持,開發(fā)人員不在需要自己編寫實現(xiàn)代碼.
(4): 容器提供眾多的輔助類,使這些類能夠加快應用的開發(fā):如 JdbcTemplate,HibernateTemplate
(5): Spring對于主流的應用框架提供了集成支持,如:集成Hibernate,JPA,Struts等,這樣更便于應用的開發(fā).
7:
使用Spring 提供的服務很少,應用屬于輕量級
使用Spring 提供的服務很多,應用屬于重量級
EJB 容器默認為應用提供了EJB規(guī)范中的所有的功能,所以它屬于重量級的
EJB 的服務包括: 安全服務, jndi服務,
posted on 2011-01-05 20:54 calmJava 閱讀(182) 評論(0) 編輯 收藏 所屬分類: Spring