亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Spring in Action 第二版 讀書筆記

系統 1869 0

?

下面這部分摘抄自Spring In Action書的p4-p6---------------------------------

核心容器

1.1 的最底層是核心容器。 Spring 核心容器為 Spring 框架提供了基礎功能。在這個模塊中你會找到 BeanFactory 這個類,它是最基本的 Spring 容器和 Spring DI 所依賴的基礎。

從第 2 章開始,貫穿整本書,當遇到使用 DI 來裝配 Bean 的時候,我們都會討論核心模塊 ( 任何 Spring 應用的核心 )

Application Context( 上下文 ) 模塊

Spring 的應用上下文建立在核心容器之上。 BeanFactory 使 Spring 成為容器,而上下文使 Spring 成為框架。這個模塊擴展了 BeanFactory ,添加了對 I18N( 國際化 ) 、應用生命周期事件以及驗證的支持。

另外,這個模塊提供了很多企業級服務,如電子郵件服務、 JNDI 訪問、 EJB 集成、遠程調用以及定時服務,并且支持與模板框架 ( Velocity FreeMarker) 的集成。

Spring AOP 模塊

AOP 模塊中, Spring 對面向切面編程提供了豐富的支持。這個模塊是為 Spring 應用開發切面的基礎。與 DI 一樣, AOP 支持應用對象之間的松耦合。利用 AOP ,應用程序所關心的與其應用的對象關系不大。

Spring AOP 模塊提供了多種方法來建立切面,包括基于 AOP Alliance 接口 (http://aopalliance.sf.net) 的切面的建立和對 AspectJ 的支持。第 4 章將深入討論 Spring AOP 支持。

JDBC 抽象及 DAO 模塊

Spring JDBC DAO 模塊把要寫的樣板代碼抽象出來,讓你的數據庫代碼變得簡單明了,也可以避免因為釋放數據庫資源失敗而引起的問題。這個模塊還建立了一個容易理解的數據庫異常層,它建立在各種數據庫錯誤信息之上。以后就不用再去解釋那些隱晦專有的 SQL 錯誤信息了。

另外,這個模塊利用 Spring AOP 模塊為 Spring 應用中的對象提供事務管理服務。

在第 5 章中討論 Spring 數據訪問時,我們將看到 Spring 的基于模板的 JDBC 抽象層是如何簡化 JDBC 代碼的。

ORM 映射集成模塊

Spring 為那些喜歡使用 ORM(Object-relational mapping) 工具的開發人員提供了 ORM 模塊。 Spring ORM 支持建立在 DAO 支持之上,并可以方便地構建適合幾個 ORM 解決方案的 DAO Spring 不想實現自己的 ORM 解決方案,但是它為許多流行的 ORM 框架做了鉤子程序,包括 Hibernate Java Persistence API JDO iBATIS SQL 映射。 Spring 的事務管理支持所有這些 ORM 框架以及 JDBC

Spring 除了提供基于模板的 JDBC 抽象,還提供了類似的 ORM 抽象和永久的框架,這些內容將在第 5 章討論。

Java 管理擴展 (JMX)

如何方便地展現 Java 應用的內存工作流以便于管理,這是構建應用產品準備的關鍵部分。 Spring JMX 模塊可以方便地展現應用 Bean ,就像 JMX Mbeans 。這樣一來,就可以監控和重新配置運行中的應用程序。

我們將在第 12 章詳細討論 Spring JMX 支持。

Java EE 連接器 API(JCA)

企業級應用包括運行在不同服務器和平臺上的應用。集成這些應用程序需要一些技巧。 Java EE 連接 API( 也稱為 JCA) 提供了一種標準的方法來集成 Java 應用和多種企業信息系統,包括主框架和數據庫。

JCA 很多方面與 JDBC 一樣,唯一的區別是 JDBC 主要是針對數據庫訪問,而 JCA 更多是關注連接遺留系統的通用 API Spring JCA 的支持類似于其對 JDBC 的支持,提取出 JCA 的樣本代碼插入到模板中。

Spring MVC 框架

Spring Web 應用提供了全功能的 MVC(Model/View?Controller) 框架,比如用戶界面與應用邏輯是分離的。 Java 有很多類 MVC 框架可選擇,例如 Apache Struts JSF WebWork Tapestry

雖然 Spring 可以集成多種其他 MVC 框架,但是 Spring 也提供了自己的 MVC 框架,它改進了 Spring 在應用 Web 層的松耦合技術。

在第 13 章和第 14 章,我們將深入討論 Spring MVC

Spring Portlet MVC

多數 Web 應用都是基于頁面的――也就是說,每個對應用的請求都會實現一個完全新的頁面。每個頁面都呈現特定的信息或特定的表單來提示用戶。基于 portlet 的應用在一個 Web 頁面上聚集多個功能,這樣在一個頁面中一次就可以提供多個應用。

如果想創建基于 portlet 的應用,最好是利用 Spring Portlet MVC 框架。 Spring Portlet MVC 建立在 Spring MVC 基礎上,提供了一套控制器來支持 Java portlet API

Spring Web 模塊

當裝載 Spring 應用上下文時, Spring MVC Spring Portlet MVC 需要一些特殊的考慮。 Spring Web 模塊提供了支持 Spring MVC Spring Portlet MVC 的類。

Web 模塊還提供了幾個支持面向 Web 的任務,例如多部分 文件上傳 和編程綁定到業務對象的請求參數。它還包含了對 Apache Struts Java Server Faces(JSF) 的集成支持。

遠程調用

所有應用都不是孤立的。通常,一個應用必須利用另一個應用的某些功能。當通過網絡來訪問其他應用時,某些形式的遠程調用將被用于通訊。

Spring 的遠程調用允許將 Java 對象的某些功能展現為遠程對象。如果需要遠程訪問對象,遠程調用模塊會使編寫遠程對象很簡單,就像它們是本地 POJO 一樣。有一些遠程調用選項,包括 RMI(Remote Method Invocation ,遠程方法調用 ) Hessian Burlap JAX-RPC Spring 自己的 HTTP Invoker

在第 8 章中,我們將詳細討論 Spring 中的多種遠程調用選項。

Java 消息服務 (JMS)

遠程調用是鄧決于網絡可靠性和通訊雙方的可用性。基于消息的通訊是可靠的,并且即使在網絡和端點不可用時,可以保證消息的傳遞。

Spring Java 消息服務 (Java Message Service) 模塊可以將消息發送到 JMS 隊列和主題。同時,這個模塊還能幫助創建消息驅動的 POJO ,它能夠處理異步消息。在第 10 章,我們將詳細討論 Spring 的消息發送機制。

雖然 Spring 包括很多內容,但是最重要的是要認識到 Spring 盡可能避免了重新開發所有事情。 Spring 傾向于保留現有的 API 和框架。

上面這部分摘抄自Spring In Action書的p4-p6---------------------------------

?

第一章 開始 Spring 之旅

  1. DI 的作用是將程序解耦。程序 A 在調用程序 B/C 時,不需要知道 B/C 是如何來的,只需要按照接口定義使用即可。 PS :之前的 service+ 簡單工廠方法也可達到這個效果。但 spring 可在 XML 中配置。

  2. AOP 的信用有點類似代理模式。 AOP 可以在類 A 不知情的情況下,為 A 增加新的功能。與代理模式不同, AOP 是在 XML 中配置的。

第二章 基本Bean裝配

  1. Spring的容器有多種容器實現。分兩類:1、Bean工廠;2、應用上下文。Bean工廠簡單,提供了基礎的依賴注入支持。應用上下文則比Bean工廠更高級。
    1. 提供文本信息解析工具,包括對國際化支持。
    2. 提供載入文件資源的通用法。
    3. 可向注冊為監聽器的Bean發送事件。
  2. Bean有自動裝配屬性功能、awtowire、可以byName、byType…..但這會導致XML文件的可續性降低。
  3. 關于Bean的范圍,請參考下表。

?

范圍 完成任務
singleton 定義Bean的范圍為每個Spring容器一個實例(默認值)
prototype 允許Bean可以被多次實例化(使用一次就創建一個實例)
request 定義Bean的范圍是HTTP請求。只有在使用有Web能力的Spring上下文(例如Spring MVC)時才有效
session 定義Bean的范圍是HTTP會話。只有在使用有Web能力的Spring上下文(例如Spring MVC)時才有效
global-session 定義Bean的范圍是全局HTTP會話。只有在portlet上下文中才有效

?

?

?

?

?

?

?

?

?

?

?

?

?

第三章 高級Bean裝配(跳過)

第四章 通知Bean

  1. AOP述語包括①通知(AOP切面的功能和切面執行任務的時機);②連接點、(AOP涉足其它對象的切入點);③切入點(對象的被介入的具體地方);④切面=通知+切入點;⑤引入(可為現有Bean)引入另一個類的某個方法;⑥目標(AOP要介入的對象);⑦代理(user通過代理來調用目標);⑧織入(將目標與代理連接起來的過程)
    為了更好的了解AOP的這些名詞,借助書本上的例子來幫助記憶。例子是電廠派抄表工查某一片區用戶的用電情況。如下圖:

    spring AOP名詞解釋

  2. 目前的AOP框架有3個:
    1. AspectJ(可以對屬性和構造 數的切入) (推薦使用的)
    2. JBoss AOP
    3. Spring AOP
  3. Spring生成被代理類的方法有兩種:
    1. 如果目標類實現了一個接口、則使用java.lang.reflect.proxy類來為目標類織入通知(優先)
    2. 如果是普通類、則通過生成它的子類、達到代理的目的;(參代理模式)

????? 前面的方法設置麻煩,且對被代理的Bean(切入點所處的Bean)要求高(需花實現指定的Proxy Factory Beam).于是導致了自動代理的出現。
自動代理中、Java1.5以后的版本,有“自動代理@Aspect J切面:簡單易用、對被代理的Beam沒有入侵。將切面加在一個切面類和配置中(caop:conf:g>)。詳細方法這里不說了。

?

Spring in Action 第二版 讀書筆記


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 三级不卡 | 亚洲综合色视频 | 亚洲最大免费视频网 | 亚洲免费视频在线观看 | 九九黄色大片 | 久久久高清日本道免费观看 | 亚州不卡| 国产精品视频2021 | 国产一区二区影院 | 国产亚洲精品久久午夜 | 乱在线伦视频免费 | 亚洲国产精品欧美综合 | 奇米激情网 | 色拍拍噜噜噜aⅴ在线观看 色拍拍欧美视频在线看 | 亚洲日本一区二区三区高清在线 | 特黄aaaaaaaaa及毛片 | 成 人 黄 色 免费网 | 日本四虎影院 | 国产精品揄拍100视频 | 欧美午夜性刺激在线观看免费 | 天天草夜夜 | 精品欧美一区二区三区精品久久 | 国产精品麻豆一区二区 | 亚洲91色 | 欧美一级aⅴ毛片 | 999视频在线播放777 | 亚洲一区二区三区高清不卡 | 精品国产日韩一区三区 | 亚洲视频2 | 真实国产乱弄免费视频 | 欧美性性性性性色大片 | 国产日韩欧美精品一区二区三区 | 亚洲精品人成网线在线 | www.欧美激情 | 午夜在线视频网站 | 国产精品久久久久国产精品 | 亚洲精品国产成人一区二区 | 九九免费精品视频在这里 | 亚洲午夜一区二区三区 | 日韩中文字幕精品一区在线 | 国产美女精品在线观看 |