天天看點

Spring攻略筆記

--動态代理

1. aspectj

2. cglib

*************Spring****************

一、IOC容器

1. 反射

2. 代理

二、AOP(面向切面程式設計)

1. 切入點

2. 通知

2. 增強器

附加:aspectj 的加載時、編譯時植入。

三、事務管理

1. jdbc的封裝(無用關系底層API)

2. 事務屬性(事務的傳播性)

3. 事務隔離性

附加:aspectj 的加載時、編譯時植入。

四、ORM(spring對orm架構的支援Hibernate、MyBatis、JPA、JDO等)

1. hibernate與JPA的配合使用

2. spring與hibernate整合

3. spring與jpa整合

五、MVC(MODEL負責封裝應用程式資料供視圖使用、視圖展示資料、控制器負責接收來自使用者請求,并調用後端服務進行業務處理)

1. DispatcherServlet

2. 控制器

3. URL映射處理程式

4. 使用者區域locale

5. jsp标簽庫

6. 處理攔截器

7. 外部化區域文本資訊(資源檔案配置)

8. 映射解析視圖

9. 異常映射視圖

10. 構造模型視圖(ModelAndView)

11. 帶有參數化視圖的控制器

12. 用表單控制器處理表單

13. 采用向導控制器處理多個頁面

14. 基于注解的控制器

六、整合spring與其他web架構

1. struts1.x

2. jsf

3. dwr

七、spring對測試的支援

八、spring進階部分

1. spring security(單向散列加密MD5、SHA)

   與系統的使用者、角色、權限相結合

   ACL:通路控制清單

2. LDAP、Ehcache

3. spring portlet

   portlet:動态地處理請求并生成響應。

   最大的差別:portlet有兩種類型請求:呈現請求、動作請求。

   (呈現請求後,整個頁面都會請求。動作請求隻有完成後才會更新)

4. Spring webFlow技術

Sring JSF,Javascript DOJO架構

5. Spring遠端服務和Web服務

5.1 RMI(Remote method invocation):遠端方法調用:對象的序列化(socket)

5.2 HTTP公開和調用服務:Hessian、Burlap、HTTP invoker(通過ServiceExporter将IOC服務bean公開,

然後再用指定的URL在服務中生成代理Bean如在本地調用一樣)

5.3 Web服務:WSDL(web service description language)

5.3.1 Contract-Last:公開現有的服務接口作為Web服務。

5.3.2 Contract-First:先設計web契約XML、XSD、WSDL、SOAP,然後再考慮實作。

5.3.3 XFire公開實作Web服務:

5.3.4 定義Web服務契約:資料契約(XML to XSD可采用Apache XMLBeans)、服務契約(WSDL)

     實作Web服務(采用Spring-WS):XML處理技術

 利用XML封送技術開發Web服務(OXM:Object/XML Mapping):JAXB/Castor/XML Beans/JiBX/XStream

6. Spring對EJB和JMS的支援

6.1 Spring 對EJB2.x(需要EJB容器TomEE(OpenEJB)、JBOSS容器):

JNDI(Java Naming and Directory Interface,Java命名和目錄接口)是一組在Java應用中通路命名和目錄服務的API。

6.2 Spring 發送和接收JMS消息:JMS1.0.2和JMS1.1(需要JMS消息代理 Apache activeMQ)

6.2.1 消息生産、消費,JMS事務管理器的運用

6.2.2 對消息的同步接收與異步接收

 6.2.2.1 消息監聽器MessageListener

 6.2.2.2 spring中消息驅動POJO監聽消息(類似EJB的MDB即消息驅動bean)

7. Spring對JMX(Java Manager extensions)、電子郵件和排程的支援

7.1 JMX API注冊MBean(可用Jconsole進行檢視)

7.2 将Spring Bean導出為JMX MBean

7.3 釋出和監聽JMX通知(NotificationPublisher/NotificationListener)

7.4 通過MBean伺服器連接配接(MBeanServerConnection)通路遠端MBean(也可為遠端MBean操作添加監聽器)

7.5 JavaMail,郵件伺服器apache james server

7.6 JDK Timer/Quartz

8. Spring中的腳本程式設計

8.1 spring對JRuby|Groovy|BeanShell腳本程式設計語言的支援

(将java邏輯代碼與腳本融合在一起,以不變[java]應變[腳本])