前一段時間翻譯了Jetty的一部分文檔,感受對閱讀英文沒有大的提升(*^-^*),畢竟Jetty的受衆面仍是比較小的,並且翻譯過程當中發現Jetty的文檔寫的不是很好,因此呢翻譯的興趣慢慢就不大了,只能等到之後工做中用到再去翻譯了(*^__^*),無論怎樣下面給出翻譯的地址。html
如今呢,我打算學習Spring了,但是發現Spring的的參考手冊(最新或者較新版,我能找到的最新中文版應該是2.5版本)仍是沒有中文的,所以又想着翻譯Spring︿( ̄︶ ̄)︿,但願此次我能堅持翻譯完,不過話說回來,我也只是想在本身學習Spring的時候留下點痕跡。後端
Spring 依賴的和依賴 Spring 的
Maven 依賴管理
Maven 依賴清單
Gradle 依賴管理
Ivy 依賴管理
Zip 文件包
不使用 Commons Logging
使用 SLF4J
使用 Log4J
II. 核心技術
3. IoC容器
3.1. IoC容器和beans的介紹
3.2. 容器概述
3.2.1. 配置屬性
3.2.2. 實例化一個容器
編寫基於xml的配置元數據
3.2.3. 容器的使用
3.3. Bean 概述
3.3.1. 命名 beans
定義bean的別名
3.3.2. 實例化 beans
經過構造方法實例化
經過靜態工廠方法實例化
經過實例化工廠實例化
3.4. 依賴性
3.4.1. 依賴注入
基於構造方法依賴注入
基於set方法注入
依賴解析過程
依賴注入例子
3.4.2. 依賴注入和配置細節
準確值 (基本, 字符串, 等等)
引用其餘beans (合做者)
內部 beans
集合
Null 和 空字符串值
p-namespace的XML快捷方式
c-namespace的XML快捷方式
複合屬性名
3.4.3. 使用依賴的beans
3.4.4. 延遲初始化的beans
3.4.5. 自動裝配合做的beans
自動裝配的侷限性和缺點
自動裝配排除一個beans
3.4.6. 方法注入
查找方法注入
任意的方法替換
3.5. Bean做用域
3.5.1. singleton 做用域
3.5.2. prototype 做用域
3.5.3. Singleton beans 和prototype-bean 依賴性
3.5.4. Request, session, application, 和WebSocket 做用域
初始化web 配置
Request 做用域
Session 做用域
Application 做用域
beans做用域和依賴
3.5.5. 自定義做用域
建立一個自定義做用域
使用自定義做用域
3.6. 自定義bean的屬性
3.6.1. 生命週期回調
初始化回調
結束回調
默認的初始化和銷燬方法
聯合生命週期
啓動和關閉回調
在非web應用程序中合理的關閉Spring的IoC容器
3.6.2. ApplicationContextAware 和BeanNameAware
3.6.3. 其它Aware 接口
3.7. Bean定義繼承
3.8. 容器擴展方面
3.8.1. 使用BeanPostProcessor定製bean
例子:Hello World, BeanPostProcessor-style
例子:The Required Annotation Bean Post Processor
3.8.2. 經過BeanFactoryPostProcessor配置元數據
例子: the Class name substitution PropertyPlaceholderConfigurer
例子: the PropertyOverrideConfigurer
3.8.3. 經過FactoryBean定製實例化邏輯
3.9. 基於註解的容器配置
3.9.1. @Required
3.9.2. @Autowired
3.9.3. 基於註釋和@Primary的自動微調
3.9.4. 基於註釋和@Qualifier的自動微調
3.9.5. 使用泛型自動裝配限定符
3.9.6. 自定義裝配配置器
3.9.7. @Resource
3.9.8. @PostConstruct 和@PreDestroy
3.10. 類路徑掃描和組件管理
3.10.1. @Component 和 進一步構造型註解
3.10.2. 元註解
3.10.3. 自動檢測類和註冊的bean定義
3.10.4. 使用過濾器自定義掃描
3.10.5. 定義bean組件內的元數據
3.10.6. 命名自動檢測到的組件
3.10.7. 爲檢測到的組件提供做用域
3.10.8. 提供限定符元數據註解
3.11. 使用 JSR 330 標準註解
3.11.1. 使用 @Inject 和 @Named 依賴注入
3.11.2. @Named 和 @ManagedBean: 至關於 @Component 註解
3.11.3. JSR-330 標準註解的侷限性
3.12. 基於java的容器配置
3.12.1. 基本概念: @Bean 和 @Configuration
3.12.2. 使用註解配置ApplicationContext初始化Spring容器
簡單構造方法
使用 register(Class<?>…) 已編程方式構造容器
啓用組件掃描經過 scan(String…)
經過 AnnotationConfigWebApplicationContext支持web應用程序
3.12.3. 使用@Bean註釋
聲明一個 bean
Bean 依賴關係
接受生命週期回調
指定bean範圍
指定bean命名
Bean 的別名
Bean 的描述
3.12.4. 使用 @Configuration 註解
注入內部bean依賴
查找方法注入
基於Java配置內部bean的更多信息
3.12.5. 編寫基於java的配置
使用 @Import 註解
有條件地包括@Configuration類或@Bean方法
結合Java 和 XML 配置
3.13. 環境抽象
3.13.1. Bean定義概要文件
@Profile
3.13.2. XML bean定義概要文件
激活一個概要文件
默認概要文件
3.13.3. 抽象 PropertySourc
3.13.4. @PropertySource
3.13.5. 聲明佔位符
3.14. 註冊一個 LoadTimeWeaver
3.15. ApplicationContext的額外功能
3.15.1. 使用MessageSource國際化
3.15.2. 標準和自定義事件
基於註解的事件監聽器
異步的註解
觀察者註解
通用的事件
3.15.3. 方便對底層資源的訪問
3.15.4. 方便的ApplicationContext實例化web應用程序
3.15.5. 做爲Java EE RAR文件同樣部署Spring ApplicationContext
3.16. BeanFactory
3.16.1. BeanFactory 或 ApplicationContext?
3.16.2. 粘合的代碼和邪惡的單例
4. 資源
4.1. 簡介
4.2. Resource接口
4.3. 內置的資源實現
4.3.1. Url資源
4.3.2. ClassPath資源
4.3.3. 文件系統資源
4.3.4. ServletContext資源
4.3.5. InputStream資源
4.3.6. ByteArray資源
4.4. ResourceLoader
4.5. ResourceLoaderAware 接口
4.6. 資源依賴關係
4.7. 應用程序上下文和資源路徑
4.7.1. 構建應用程序上下文
構建ClassPathXmlApplicationContext實例 - 快捷方式
4.7.2. 構造函數應用程序上下文資源路徑的通配符
Ant-類型通配符
Classpath*: 可移植到classpath*: 前綴
有關通配符的其餘注意事項
4.7.3. FileSystemResource 警告
5. 驗證、數據綁定和類型轉換
5.1. 簡介
5.2. 使用Spring的驗證器接口進行校驗
5.3. 解決代碼錯誤消息
5.4. Bean操縱和BeanWrapper
5.4.1. 設置和獲取基本和嵌套的屬性
5.4.2. 內置PropertyEditor實現
註冊額外的自定義的PropertyEditors
5.5. Spring 類型轉換
5.5.1. SPI轉換器
5.5.2. 轉換工廠
5.5.3. 通用轉換
有條件的通用的轉換器
5.5.4. 轉換服務API
5.5.5. 配置一個ConversionService
5.5.6. 使用ConversionService編程
5.6. Spring字段格式
5.6.1. 格式化器SPI
5.6.2. 註解驅動的格式
格式註釋API
5.6.3. FormatterRegistry SPI
5.6.4. FormatterRegistrar SPI
5.6.5. 配置Spring MVC的格式
5.7. 配置一個全球性的日期和時間格式
5.8. Spring的驗證
5.8.1. JSR- 303 Bean Validation API的概述
5.8.2. 配置一個Bean校驗器
注入一個驗證器
配置自定義約束
Spring驅動的方法校驗
新增的配置屬性
5.8.3. 配置一個DataBinder
5.8.4. Spring MVC 3 校驗
6. Spring的表達式語言 (SpEL)
6.1. 簡介
6.2. 特徵概覽
6.3. 使用Spring表達式進行計算
6.3.1. EvaluationContext 接口
類型轉換
6.3.2. 解析器配置
6.3.3. SpEL 編譯
編譯器配置
編譯器的侷限性
6.4. 表達支持定義bean定義
6.4.1. 基於XML的配置
6.4.2. 基於註解的配置
6.5. 語言參考
6.5.1. 文字表達方式
6.5.2. Properties, Arrays, Lists, Maps, Indexers
6.5.3. 內聯lists
6.5.4. 內聯Maps
6.5.5. Array 構造
6.5.6. 方法
6.5.7. 操做
關係運算符
邏輯運算符
數學運算符
6.5.8. 任務
6.5.9. 類型
6.5.10. 構造函數
6.5.11. 變量
#this 和 #root 變量
6.5.12. 函數
6.5.13. Bean的引用
6.5.14. 三元操做符 (If-Then-Else)
6.5.15. Elvis 算法
6.5.16. 安全的導航操做符
6.5.17. 集合選擇
6.5.18. 集合映射
6.5.19. 表達式模板
6.6. 類中使用的例子
7. Spring的面向切面編程
7.1. 簡介
7.1.1. AOP概念
7.1.2. Spring AOP的功能和目標
7.1.3. AOP代理
7.2. @AspectJ 支持
7.2.1. 提供 @AspectJ 支持
經過Java配置提供@AspectJ的支持
經過Xml配置提供@AspectJ的支持
7.2.2. 聲明一個方面
7.2.3. 聲明一個切入點
支持的切入點指示符
切面表達式
共享切面定義
例子
編寫好的切入點
7.2.4. 聲明的建議
前置通知
返回後通知
拋出後通知
最終(finally)後的建議
環繞通知
通知參數
通知訂閱
7.2.5. 說明
7.2.6. 切面實例化模型
7.2.7. 例子
7.3. 基於Schema的AOP支持
7.3.1. 聲明一個方面
7.3.2. 聲明一個切入點
7.3.3. 聲明的建議
前置通知
返回後通知
拋出後通知
最終(finally)後的建議
環繞通知
通知參數
通知訂閱
7.3.4. 說明
7.3.5. 實例化模型方面
7.3.6. Advisors
7.3.7. 例子
7.4. 選擇使用哪個AOP聲明風格
7.4.1. Spring AOP 或者所有AspectJ?
7.4.2. @AspectJ 或者 XML 配置的Spring AOP?
7.5. 混合類型方面
7.6. 代理機制
7.6.1. 理解AOP代理
7.7. 編程建立@Aspectj代理
7.8. 在Spring應用中使用@AspectJ
7.8.1. 在Spring中使用AspectJ進行domain object的依賴注入
使用@Configurable進行單元測試
使用多個應用程序上下文
7.8.2. Spring中其餘的AspectJ切面
7.8.3. 使用Spring IoC來配置AspectJ的切面
7.8.4. 在Spring應用中使用AspectJ加載時織入(LTW)
一個入門例子
Aspects
'META-INF/aop.xml'
須要的jar包 (JARS)
Spring 配置
特定於環境的配置
7.9. 更多資源
8. Spring AOP APIs
8.1. 簡介
8.2. Spring中的切入點API
8.2.1. 概念
8.2.2. 切入點運算
8.2.3. AspectJ切入點表達式
8.2.4. 便利的切入點實現
靜態切入點
動態切入點
8.2.5. 切入點的超類
8.2.6. 自定義切入點
8.3. Spring的通知API
8.3.1. 通知的生命週期
8.3.2. Spring裏的通知類型
攔截環繞通知
前置通知
拋出通知
返回後通知
引入通知
8.4. Spring裏的Advisor API
8.5. 使用ProxyFactoryBean建立AOP代理
8.5.1. 基礎
8.5.2. JavaBean屬性
8.5.3. 基於JDK和CGLIB的代理
8.5.4. 對接口進行代理
8.5.5. 對類進行代理
8.5.6. 使用「全局」通知器
8.6. 簡化代理定義
8.7. 使用ProxyFactory經過編程建立AOP代理
8.8. 操做被通知對象
8.9. 使用「自動代理(autoproxy)」功能
8.9.1. 自動代理bean定義
BeanNameAutoProxyCreator
DefaultAdvisorAutoProxyCreator
AbstractAdvisorAutoProxyCreator
8.9.2. 使用元數據驅動的自動代理
8.10. 使用TargetSource
8.10.1. 熱交換目標源
8.10.2. 池化目標源
8.10.3. 原型目標源
8.10.4. ThreadLocal目標源
8.11. 定義新的Advice類型
8.12. 更多資源
III. 測試
9. Spring測試簡介
10. 單元測試
10.1. Mock對象
10.1.1. Environment
10.1.2. JNDI
10.1.3. Servlet API
10.2. 單元測試支持類
10.2.1. 普通測試工具類
10.2.2. Spring MVC
11. 集成測試
11.1. 概覽
11.2. 集成測試的目標
11.2.1. 上下文管理和緩存
11.2.2. 依賴注入的測試裝置
11.2.3. 事務管理
11.2.4. 集成測試支持類
11.3. JDBC測試支持
11.4. 經常使用註解
11.4.1. Spring測試的註釋
@BootstrapWith
@ContextConfiguration
@WebAppConfiguration
@ContextHierarchy
@ActiveProfiles
@TestPropertySource
@DirtiesContext
@TestExecutionListeners
@Commit
@Rollback
@BeforeTransaction
@AfterTransaction
@Sql
@SqlConfig
@SqlGroup
11.4.2. 標準註解支持
11.4.3. Spring JUnit 4測試註釋
@IfProfileValue
@ProfileValueSourceConfiguration
@Timed
@Repeat
11.4.4. 元註釋支持測試
11.5. Spring 測試框架
11.5.1. 關鍵抽象
TestContext類
TestContextManager類
TestExecutionListener類
ContextLoaders類
11.5.2. 引導和TestContext框架
11.5.3. TestExecutionListener 配置
註冊定製的 TestExecutionListeners
自動發現默認的TestExecutionListeners
TestExecutionListeners有序化
合併TestExecutionListeners
11.5.4. Context 管理
經過XML資源
經過Groovy scripts配置Context
經過註解類配置Context
混合 XML, Groovy scripts, 和註解類
經過context初始化配置Context
Context 配置繼承
環境配置文件配置Context
經過測試屬性資源配置Context
加載一個WebApplicationContext
Context 緩存
Context 繼承
11.5.5. 依賴注入的測試裝置
11.5.6. 測試請求和會話做用域的bean
11.5.7. 事務管理
Test-managed事務
激活或禁止事物
事務回滾和提交行爲
編程式事務管理
在事物外執行代碼
配置一個事物管理
演示的全部transaction-related註解
11.5.8. 執行SQL腳本
經過程序執行SQL腳本
經過@Sql執行SQL腳本
11.5.9. Parallel test execution
11.5.10. TestContext 框架支持類
Spring JUnit 4 運行
Spring JUnit 4 規則
JUnit 4 支持類
TestNG 支持類
11.6. Spring MVC 測試框架
11.6.1. 服務端測試
靜態引入
安裝測試
指望值
定義的指望
過濾註冊
容器外和端到端集成測試之間的差別
更多服務端例子
11.6.2. HtmlUnit 集成
爲何要集成HtmlUnit?
MockMvc 和 HtmlUnit
MockMvc 和 WebDriver
MockMvc 和 Geb
11.6.3. 客戶端 REST 測試
靜態引入
客戶端 REST 測試的例子
11.7. 寵物診所的例子
12. 更多資源
IV. 數據存取
13. 事務管理
13.1. 介紹Spring框架事務管理
13.2. Spring框架的事務支持模型的優勢
13.2.1. 全局事務
13.2.2. 本地事務
13.2.3. Spring框架是一致編程模型
13.3. 瞭解Spring框架事務抽象
13.4. 同步事物資源
13.4.1. 高級的同步方法
13.4.2. 低級的同步方法
13.4.3. TransactionAwareDataSourceProxy
13.5. 事務管理
13.5.1. 瞭解Spring框架的聲明式事務實現
13.5.2. 聲明式事務實現的例子
13.5.3. 聲明式事務回滾
13.5.4. 配置不一樣的事務爲不一樣的bean
13.5.5. <tx:advice/> 設置
13.5.6. 使用 @Transactional
@Transactional 設置
經過@Transactional進行多重事物管理
定製註解快捷方式
13.5.7. 事務傳播
Required模式
RequiresNew模式
Nested模式
13.5.8. 通知事物操做
13.5.9. 和AspectJ一塊兒使用@Transactional
13.6. 編程式事務管理
13.6.1. 使用 TransactionTemplate
定製transaction 設置
13.6.2. 使用 PlatformTransactionManager
13.7. 選擇編程或聲明式事務管理
13.8. 事務綁定事件
13.9. 特定於應用服務器的集成
13.9.1. IBM 的 WebSphere
13.9.2. Oracle WebLogic 服務器
13.10. 常見問題解決
13.10.1. 爲一個特定的數據源使用錯誤的事務管理器
13.11. 更多資源
14. DAO 支持
14.1. 簡介
14.2. 一致的異常層次結構
14.3. 使用註解配置DAO
15. 經過JDBC訪問數據
15.1. 介紹Spring框架JDBC
15.1.1. 選擇一個JDBC數據庫訪問方法
15.1.2. 包的層次結構
15.2. 使用JDBC核心類控制基本JDBC處理和錯誤處理
15.2.1. Jdbc模板
JdbcTemplate 類使用的例子
JdbcTemplate 最好的使用方法
15.2.2. NamedParameterJdbcTemplate類
15.2.3. SQLExceptionTranslator類
15.2.4. 執行狀態
15.2.5. 運行查詢
15.2.6. 更新基本數據
15.2.7. 獲取自動生成的鍵
15.3. 控制數據庫鏈接
15.3.1. 數據源
15.3.2. DataSourceUtils類
15.3.3. SmartDataSource類
15.3.4. AbstractDataSource類
15.3.5. SingleConnectionDataSource類
15.3.6. DriverManagerDataSource類
15.3.7. TransactionAwareDataSourceProxy類
15.3.8. DataSourceTransactionManager類
15.3.9. NativeJdbcExtractor類
15.4. JDBC批處理操做
15.4.1. JdbcTemplate基本批處理操做
15.4.2. 批處理操做的對象列表
15.4.3. 與多個批次批處理操做
15.5. 與SimpleJdbc簡化JDBC操做類
15.5.1. 使用SimpleJdbcInsert插入數據
15.5.2. 使用SimpleJdbcInsert檢索自動生成的鍵
15.5.3. 爲SimpleJdbcInsert指定列
15.5.4. 使用SqlParameterSource提供參數值
15.5.5. 與SimpleJdbcCall調用一個存儲過程
15.5.6. 顯式地聲明SimpleJdbcCall參數使用
15.5.7. 如何定義SqlParameters
15.5.8. 使用SimpleJdbcCall調用一個存儲函數
15.5.9. 從SimpleJdbcCall中返回 ResultSet/REF 遊標
15.6. JDBC操做建模作爲Java對象
15.6.1. SqlQuery 類
15.6.2. MappingSqlQuery 類
15.6.3. SqlUpdate 類
15.6.4. StoredProcedure 類
15.7. 常見問題與參數和數據值處理
15.7.1. 爲參數提供SQL類型信息
15.7.2. 處理BLOB和CLOB對象
15.7.3. 爲 IN 語句傳入一系列值
15.7.4. 存儲過程調用的處理複雜類型
15.8. 嵌入式數據庫的支持
15.8.1. 爲何使用嵌入式數據庫?
15.8.2. 建立一個嵌入式數據庫使用Spring XML
15.8.3. 以編程方式建立一個嵌入式數據庫
15.8.4. 嵌入式數據庫類型選擇
使用 HSQL
使用 H2
使用 Derby
15.8.5. 經過嵌入式數據庫測試數據訪問邏輯
15.8.6. 生成惟一的嵌入式數據庫的名稱
15.8.7. 擴展嵌入式數據庫的支持
15.9. 初始化數據源
15.9.1. 初始化數據庫使用Spring XML
基於數據庫實例化其餘組件
16. 對象關係映射(ORM)數據訪問
16.1. 介紹 ORM 和 Spring
16.2. 通常ORM集成方面的考慮
16.2.1. 資源和事務管理
16.2.2. 異常事物
16.3. Hibernate
16.3.1. 在Spring容器設置SessionFactory
16.3.2. 基於純Hibernate API實現DAOs
16.3.3. 聲明式事務劃分
16.3.4. 編程事務界定
16.3.5. 事務管理策略
16.3.6. 比較容器管理和本地定義的資源
16.3.7. Hibernate的虛假的應用服務器的警告
16.4. JPA
16.4.1. 在一個Spring環境中JPA設置的三個選項
LocalEntityManagerFactoryBean 類
從JNDI中得到EntityManagerFactory
LocalContainerEntityManagerFactoryBean類
處理多個持久性單元
16.4.2. 基於普通的JPA實現DAOs
16.4.3. 事務管理
16.4.4. JpaDialect 類
17. 經過 O/X 映射解析XML
17.1. 簡介
17.1.1. 每個配置項
17.1.2. 一致的接口
17.1.3. 一致的異常層次結構
17.2. Marshaller 和 Unmarshaller
17.2.1. Marshaller類
17.2.2. Unmarshaller類
17.2.3. XmlMappingException類
17.3. 使用 Marshaller 和 Unmarshaller
17.4. 基於XML Schema配置
17.5. JAXB 技術
17.5.1. Jaxb2Marshaller 類
基於XML Schema配置
17.6. Castor 框架
17.6.1. CastorMarshaller 類
17.6.2. 映射
基於XML Schema配置
17.7. JiBX 框架
17.7.1. JibxMarshaller 類
基於XML Schema配置
17.8. XStream 庫
17.8.1. XStreamMarshaller 類
V. Web方面
18. Web MVC 框架
18.1. Spring Web MVC 框架概述
18.1.1. Spring Web MVC特性
18.1.2. 可插入性的MVC實現
18.2. DispatcherServlet 類
18.2.1. 在WebApplicationContext中指定bean的類型
18.2.2. 默認的DispatcherServlet 配置
18.2.3. DispatcherServlet處理順序
18.3. Controllers實現
18.3.1. 經過@Controller定義控制類
18.3.2. 經過@RequestMapping定義映射
@RequestMapping 變型
@Controller 和 AOP 代理
在Spring MVC 3.1中新的類支持@RequestMapping 方法
URI 模板模式
URI 模板模式和正則表達式
Path 模板
Path 模板比較
Path 模板和佔位符
後綴模式匹配
後綴模式匹配和 RFD
矩陣變量
指定文件類型
可延續文件類型
Request 參數和頭部值
HTTP HEAD 和 HTTP OPTIONS
18.3.3. 定義@RequestMapping 處理方法
支持方法參數類型
支持方法返回類型
與@RequestParam綁定,請求參數方法
經過@RequestBody 註解定義請求體
經過@ResponseBody 定義響應體
經過@RestController 註解建立REST 控制
使用 HttpEntity
在一個方法上使用 @ModelAttribute
在方法參數上使用@ModelAttribute
使用@SessionAttributes存儲session的值
使用@SessionAttribute已經存在的全局session值
使用@RequestAttribute得到請求參數
在"application/x-www-form-urlencoded" 數據類型下工做
使用@CookieValue 註解操做註解
使用 @RequestHeader 註解關聯請求頭
方法參數和類型轉換
定製WebDataBinder初始化
經過@ControllerAdvice 和 @RestControllerAdvice進行通知控制
Jackson 序列化視圖支持
Jackson JSONP 支持
18.3.4. 異步的請求處理
異常處理異步請求
攔截異步請求
HTTP 六
HTTP 流經過Server-Sent 事件
HTTP直接流到OutputStream
配置異步請求處理
18.3.5. Testing Controllers
18.4. 處理器映射
18.4.1. 經過HandlerInterceptor攔截請求
18.5. 解決視圖
18.5.1. 經過ViewResolver 接口解決視圖
18.5.2. ViewResolvers鏈
18.5.3. 重定向到視圖
重定向視圖
重定向:前綴
轉發:前綴
18.5.4. ContentNegotiatingViewResolver 類
18.6. 使用flash屬性
18.7. 構建URIs
18.7.1. 爲Controllers 和 methods構建URIs
18.7.2. 在視圖中爲Controllers 和 methods構建URIs
18.8. 使用本地化
18.8.1. 獲取時區信息
18.8.2. AcceptHeaderLocaleResolver 類
18.8.3. CookieLocaleResolver 類
18.8.4. SessionLocaleResolver 類
18.8.5. LocaleChangeInterceptor 類
18.9. 使用主題
18.9.1. 簡介
18.9.2. 如何定義主題
18.9.3. 主題解析器
18.10. Spring對分段文件上傳(multipart file upload)的支持
18.10.1. 介紹
18.10.2. 使用 MultipartResolver 經過Commons FileUpload
18.10.3. 使用 MultipartResolver 經過 Servlet 3.0
18.10.4. 在表單中處理一個文件上傳
18.10.5. 從編程處理文件上傳請求
18.11. 處理異常
18.11.1. HandlerExceptionResolver 類
18.11.2. @ExceptionHandler 註解
18.11.3. 處理標準的 Spring MVC 異常
18.11.4. 經過@ResponseStatus註釋業務異常
18.11.5. 定製默認Servlet容器的錯誤頁面
18.12. Web 安全
18.13. 約定優於配置支持
18.13.1. 控制類(C) - ControllerClassNameHandlerMapping
18.13.2. 模型類(M) - ModelMap (ModelAndView)
18.13.3. 試圖類(V) - RequestToViewNameTranslator
18.14. HTTP 緩存支持
18.14.1. Cache-Control HTTP 頭
18.14.2. HTTP 緩存支持靜態資源
18.14.3. 在response中支持 Cache-Control, ETag and Last-Modified 響應頭信息
18.14.4. 對ETag的支持
18.15. 基於代碼Servlet容器初始化
18.16. 配置Spring MVC
18.16.1. 激活MVC Java配置或MVC XML 命名空間
18.16.2. 定製提供的配置
18.16.3. 轉換和格式化
18.16.4. 校驗
18.16.5. 攔截
18.16.6. 內容協商
18.16.7. 視圖控制
18.16.8. 視圖解析器
18.16.9. 服務資源
18.16.10. 回到「默認」Servlet服務資源
18.16.11. 路徑匹配
18.16.12. 消息轉換
18.16.13. 經過MVC Java配置進行高級定製
18.16.14. 經過MVC 命名空間進行高級定製
19. 視圖技術
19.1. 簡介
19.2. Thymeleaf
19.3. Groovy模板標記
19.3.1. 配置
19.3.2. 例子
19.4. FreeMarker
19.4.1. 依賴
19.4.2. Context 配置
19.4.3. 建立模板
19.4.4. 先進FreeMarker配置
19.4.5. 綁定支持和表單處理
綁定指令
簡單綁定
表單輸入生成的宏
HTML轉義和XHTML合規
19.5. JSP & JSTL
19.5.1. 視圖解析器
19.5.2. 'Plain-old' JSPs 與 JSTL
19.5.3. 幫助簡化開發的額外的標籤
19.5.4. 使用Spring 表單標籤庫
配置
form 標籤
input 標籤
checkbox 標籤
checkboxes 標籤
radiobutton 標籤
radiobuttons 標籤
password 標籤
select 標籤
option 標籤
options 標籤
textarea 標籤
hidden 標籤
errors 標籤
HTTP方法轉換
HTML5 標籤
19.6. Script 模板
19.6.1. 依賴
19.6.2. 建立將基於腳本的模板
19.7. XML視圖
19.8. Tiles
19.8.1. 須要的資源
19.8.2. 如何集成Tiles
UrlBasedViewResolver 類
ResourceBundleViewResolver 類
SimpleSpringPreparerFactory 和 SpringBeanPreparerFactory
19.9. XSLT
19.9.1. 概述
Bean 定義
標準MVC 控制代碼
文檔轉換
19.10. 文檔視圖(PDF/Excel)
19.10.1. 簡介
19.10.2. 設置和安裝
文檔視圖定義
控制層代碼
Excel 視圖子類
PDF 視圖子類
19.11. Feed 視圖
19.12. JSON 關係視圖
19.13. XML 關係視圖
20. CORS 支持
20.1. 簡介
20.2. CORS 控制方法配置
20.3. 全局CORS 配置
20.3.1. Java配置
20.3.2. XML 命名空間
20.4. 高級定製
20.5. 基於過濾的CORS支持
21. 集成其它Web框架
21.1. 簡介
21.2. 通用配置
21.3. JavaServer Faces 1.2
21.3.1. SpringBeanFacesELResolver (JSF 1.2+) 類
21.3.2. FacesContextUtils 類
21.4. Apache Struts 2.x
21.5. Tapestry 5.x
21.6. 更多資源
22. WebSocket 支持
22.1. 簡介
22.1.1. WebSocket 可靠選項
22.1.2. 消息體系結構
22.1.3. WebSocket中子協議支持
22.1.4. 應該使用WebSocket嗎?
22.2. WebSocket API
22.2.1. 建立和配置一個WebSocketHandler
22.2.2. 定製 WebSocket Handshake
22.2.3. WebSocketHandler 裝飾
22.2.4. 部署注意事項
22.2.5. 配置WebSocket引擎
22.2.6. 配置容許訪問的源
22.3. SockJS 可靠選項
22.3.1. SockJS概覽
22.3.2. 激活SockJS
22.3.3. IE 8, 9的HTTP流: Ajax/XHR 對比 IFrame
22.3.4. 心跳消息
22.3.5. Servlet 3 異步請求
22.3.6. CORS Headers for SockJS
22.3.7. SockJS 客戶端
22.4. 基於WebSocket 的STOMP 通信架構
22.4.1. STOMP概述
22.4.2. 激活基於WebSocket的STOMP
22.4.3. 消息流
22.4.4. 註解信息處理
22.4.5. 發送消息
22.4.6. 簡單的代理
22.4.7. 全功能的代理
22.4.8. 鏈接到全功能的代理
22.4.9. 在@MessageMapping 目的地使用點做爲分離器
22.4.10. 身份認證
22.4.11. 用戶目的地
22.4.12. 監聽ApplicationContext 事件和攔截消息
22.4.13. STOMP 客戶端
22.4.14. WebSocket 範圍
22.4.15. 配置和性能
22.4.16. 運行時監控
22.4.17. 測試帶註解的控制器方法
23. Web Reactive 框架
23.1. 簡介
23.1.1. Reactive 編程
23.1.2. Spring Web Reactive 類型
23.2. Spring Web Reactive 概覽
23.2.1. Spring Web Reactive 模型
23.2.2. Reactive Web 客戶端
23.3. 開始使用
23.3.1. Spring 引導啓動
23.3.2. 手動引導
23.3.3. 在5.0 M1的支持程度
VI. 集成
24. 在Spring中使用Remote 和 web services
24.1. 簡介
24.2. 公開服務使用RMI
24.2.1. 使用RmiServiceExporter提供服務
24.2.2. 在客戶端鏈接服務
24.3. 經過HTTP使用Hessian來遠程調用服務
24.3.1. 爲Hsssian鏈接DispatcherServlet和其它
24.3.2. 使用HessianServiceExporter暴露你的beans
24.3.3. 在客戶端鏈接服務
24.3.4. 使用HTTP基自己份驗證服務經過暴露Hessian
24.4. 使用HTTP調用器公開服務
24.4.1. 暴露的服務對象
24.4.2. 在客戶端鏈接服務
24.5. Web services
24.5.1. 使用JAX-WS提供基於servlet的服務
24.5.2. 使用JAX-WS提供獨立的服務
24.5.3. 經過Spring支持的JAX-WS RI提供web services服務
24.5.4. 使用JAX-WS訪問web services
24.6. JMS
24.6.1. 服務端配置
24.6.2. 客戶端配置
24.7. AMQP
24.8. 自動偵測並不實現遠程接口
24.9. 考慮當選擇技術
24.10. 在客戶端訪問RESTful服務
24.10.1. RestTemplate 類
使用URI
處理請求和響應頭
Jackson JSON 視圖支持
24.10.2. HTTP消息轉換
StringHttpMessageConverter 類
FormHttpMessageConverter 類
ByteArrayHttpMessageConverter 類
MarshallingHttpMessageConverter 類
MappingJackson2HttpMessageConverter 類
MappingJackson2XmlHttpMessageConverter 類
SourceHttpMessageConverter 類
BufferedImageHttpMessageConverter 類
24.10.3. 異步 RestTemplate
25. 企業JavaBeans (EJB) 集成
25.1. 簡介
25.2. 訪問 EJBs
25.2.1. 概念
25.2.2. 訪問本地 SLSBs
25.2.3. 訪問遠程 SLSBs
25.2.4. 訪問 EJB 2.x SLSBs 或者 EJB 3 SLSBs
25.3. 使用Spring的EJB支持類
25.3.1. EJB 3 注入攔截器
26. JMS (Java Message Service)Java消息服務
26.1. 簡介
26.2. 使用 Spring JMS
26.2.1. JmsTemplate 類
26.2.2. Connections 類
Caching Messaging Resources
SingleConnectionFactory 類
CachingConnectionFactory 類
26.2.3. 目的地管理
26.2.4. 消息偵聽器容器
SimpleMessageListenerContainer 類
DefaultMessageListenerContainer 類
26.2.5. 事務管理
26.3. 發送一個消息
26.3.1. 使用消息轉換
26.3.2. SessionCallback 和 ProducerCallback
26.4. 接收一個消息
26.4.1. 同步接收
26.4.2. 異步接收 - 消息驅動 POJOs
26.4.3. SessionAwareMessageListener 接口
26.4.4. MessageListenerAdapter類
26.4.5. 在事務處理消息
26.5. 支持JCA消息端點
26.6. 註解驅動的端點偵聽器
26.6.1. 激活監聽端點註解
26.6.2. 編程端點註冊
26.6.3. 帶註解的端點方法簽名
26.6.4. 響應管理
26.7. JMS 命名空間支持
27. JMX
27.1. 簡介
27.2. 將你的bean輸出到 JMX
27.2.1. 建立一個MBeanServer
27.2.2. 複用現有的MBeanServer
27.2.3. 延遲初始化 MBeans
27.2.4. 自動註冊 MBeans
27.2.5. 控制登記行爲
27.3. 控制管理接口的bean
27.3.1. MBeanInfoAssembler 接口
27.3.2. 使用源代碼級元數據 (Java 註解)
27.3.3. 源代碼級元數據類型
27.3.4. AutodetectCapableMBeanInfoAssembler 接口
27.3.5. 使用Java接口定義管理接口
27.3.6. 使用 MethodNameBasedMBeanInfoAssembler
27.4. 爲你的beans指定ObjectNames
27.4.1. 從屬性中讀取ObjectNames
27.4.2. 使用MetadataNamingStrategy
27.4.3. 配置基於註解的MBean輸出
27.5. JSR-160 鏈接
27.5.1. 服務端配置
27.5.2. 客戶端配置
27.5.3. JMX over Hessian or SOAP
27.6. 經過代理訪問MBeans
27.7. 通知
27.7.1. 爲通知註冊監聽器
27.7.2. 發佈通知
27.8. 更多資源
28. JCA CCI
28.1. 簡介
28.2. 配置CCI
28.2.1. 鏈接配置
28.2.2. 在Spring中配置ConnectionFactory
28.2.3. 配置CCI 鏈接
28.2.4. 使用單個的CCI 鏈接
28.3. 使用Spring’的CCI 鏈接支持
28.3.1. 記錄轉換
28.3.2. CciTemplate類
28.3.3. DAO 支持
28.3.4. 自動輸出生成記錄
28.3.5. Summary
28.3.6. 直接使用CCI鏈接和交互
28.3.7. CciTemplate 使用例子
28.4. 建模CCI做爲操做對象的訪問
28.4.1. MappingRecordOperation 類
28.4.2. MappingCommAreaOperation 類
28.4.3. 自動輸出生成記錄
28.4.4. Summary
28.4.5. MappingRecordOperation 使用例子
28.4.6. 使用MappingCommAreaOperation 例子
28.5. 事物
29. Email
29.1. 簡介
29.2. 使用
29.2.1. 基本的MailSender 和SimpleMailMessage 用法
29.2.2. 使用JavaMailSender 和 the MimeMessagePreparator
29.3. 使用JavaMail MimeMessageHelper
29.3.1. 發送附件和內聯資源
附件
內聯資源
29.3.2. 經過模板庫建立email
30. 任務執行和調度
30.1. 簡介
30.2. Spring TaskExecutor 概念
30.2.1. TaskExecutor 類型
30.2.2. 使用 TaskExecutor
30.3. Spring TaskScheduler 概念
30.3.1. Trigger 接口
30.3.2. Trigger 實現類
30.3.3. TaskScheduler 實現類
30.4. 註解支持調度和異步執行
30.4.1. 激活調度的註解
30.4.2. @Scheduled 註解
30.4.3. @Async 註解
30.4.4. 執行資格與@Async
30.4.5. 執行管理與@Async
30.5. Task 命名空間
30.5.1. 'scheduler' 元素
30.5.2. 'executor' 元素
30.5.3. 'scheduled-tasks' 元素
30.6. 使用Quartz 任務調度
30.6.1. 使用 JobDetailFactoryBean
30.6.2. 使用 MethodInvokingJobDetailFactoryBean
30.6.3. 使用觸發器和SchedulerFactoryBean鏈接工做
31. 動態語言支持
31.1. 簡介
31.2. 首言
31.3. 經過動態語言定義beans
31.3.1. 基本概念
<lang:language/> 元素
可複製的beans
內聯動態語言源文件
理解構造函數注入dynamic-language-backed bean
31.3.2. JRuby beans
31.3.3. Groovy beans
經過一個回調自定義Groovy對象
31.3.4. BeanShell beans
31.4. 腳本
31.4.1. Scripted Spring MVC 控制
31.4.2. Scripted 校驗
31.5. 必要的
31.5.1. AOP - 建議腳本化的bean
31.5.2. 做用域
31.6. 更多資源
32. 抽象緩存
32.1. 簡介
32.2. 理解抽象緩存
32.3. 基於註解定義緩存
32.3.1. @Cacheable 註解
默認key生成
自定義鍵生成策略
默認的緩存解決方案
定義的緩存解決方案
異步緩存
條件緩存
可用緩存經過 SpEL表達式
32.3.2. @CachePut 註解
32.3.3. @CacheEvict 註解
32.3.4. @Caching 註解
32.3.5. @CacheConfig 註解
32.3.6. 激活緩存註解
32.3.7. 使用定製註解
32.4. JCache (JSR-107) 註解
32.4.1. 功能概述
32.4.2. 激活JSR-107 支持
32.5. 聲明基於xml的緩存
32.6. 配置緩存倉庫
32.6.1. JDK ConcurrentMap-based 緩存
32.6.2. Ehcache-based 緩存
32.6.3. Caffeine 緩存
32.6.4. GemFire-based 緩存
32.6.5. JSR-107 緩存
32.6.6. 處理沒有緩存倉庫的緩存
32.7. 經過插件使用j2ee不一樣的後端緩存
32.8. 如何使用 TTL/TTI/Eviction policy/XXX 特點?
VII. 附件
33. Spring Framework的新功能
34. 遷移到Spring Framework 4.x
35. Spring 註解編程模型
36. Spring經典實用
36.1. 經典的 ORM 實用
36.1.1. Hibernate
HibernateTemplate類
基於Spring的DAOs不使用回調
36.2. JMS 使用
36.2.1. JmsTemplate類
36.2.2. 異步消息接收
36.2.3. 鏈接
36.2.4. 事務管理
37. 經典Spring AOP 使用
37.1. Spring切面API
37.1.1. 概念
37.1.2. 操做切入點
37.1.3. AspectJ切入點表達式
37.1.4. 方便的切入點實現
靜態切入點
動態切入點
37.1.5. 切入點超類
37.1.6. 自定義切入點
37.2. Spring的通知API
37.2.1. Advice 生活週期
37.2.2. Spring中的Advice 類型
攔截環繞通知
前置通知
拋出後通知
返回後通知
通知介紹
37.3. Spring的Advisor API
37.4. 使用 ProxyFactoryBean 建立AOP 代理
37.4.1. 基礎
37.4.2. JavaBean 屬性
37.4.3. JDK- 和 基於CGLIB 的代理
37.4.4. 代理接口
37.4.5. 代理類
37.4.6. 使用 'global' advisors
37.5. 簡潔的代理的定義
37.6. 以編程方式經過ProxyFactory 建立與AOP代理
37.7. 操縱建議對象
37.8. 使用 "autoproxy" 插件
37.8.1. Autoproxy bean 定義
BeanNameAutoProxyCreator類
DefaultAdvisorAutoProxyCreator類
AbstractAdvisorAutoProxyCreator 類
37.8.2. 使用元數據驅動auto-proxying
37.9. 使用 TargetSources
37.9.1. 熱可切換目標的來源
37.9.2. Pooling 目標來源
37.9.3. Prototype 目標來源
37.9.4. ThreadLocal 目標來源
37.10. 定義新的Advice 類型
37.11. 更多資源
38. 基於XML Schema的配置
38.1. 簡介
38.2. 基於XML Schema的配置
38.2.1. 引用schemas
38.2.2. util schema屬性
<util:constant/>
<util:property-path/>
<util:properties/>
<util:list/>
<util:map/>
<util:set/>
38.2.3. jee schema屬性
<jee:jndi-lookup/> (簡單的)
<jee:jndi-lookup/> (經過JNDI環境設置)
<jee:jndi-lookup/> (經過多重JNDI環境設置)
<jee:jndi-lookup/> (複雜)
<jee:local-slsb/> (簡單的)
<jee:local-slsb/> (複雜的)
<jee:remote-slsb/>
38.2.4. lang schema
38.2.5. jms schema
38.2.6. tx (transaction) schema
38.2.7. aop schema
38.2.8. context schema
<property-placeholder/>
<annotation-config/>
<component-scan/>
<load-time-weaver/>
<spring-configured/>
<mbean-export/>
38.2.9. tool schema
38.2.10. jdbc schema
38.2.11. cache schema
38.2.12. beans schema
39. 可擴展的XML編寫
39.1. 簡介
39.2. 編寫schema
39.3. 寫一個NamespaceHandler代碼
39.4. BeanDefinitionParser類
39.5. 註冊 handler 和 schema
39.5.1. 'META-INF/spring.handlers'
39.5.2. 'META-INF/spring.schemas'
39.6. 在Spring XML配置中使用一個自定義的擴展
39.7. 不少例子
39.7.1. 在自定義標記嵌套自定義標記
39.7.2. 定義屬性在 'normal' 元素上
39.8. Further Resources
40. SpringJSP標籤庫
40.1. 簡介
40.2. argument 標籤
40.3. bind 標籤
40.4. escapeBody 標籤
40.5. eval 標籤
40.6. hasBindErrors 標籤
40.7. htmlEscape 標籤
40.8. message 標籤
40.9. nestedPath 標籤
40.10. param 標籤
40.11. theme 標籤
40.12. transform 標籤
40.13. url 標籤
41. Spring表單JSP標籤庫
41.1. 簡介
41.2. button 標籤
41.3. checkbox 標籤
41.4. checkboxes 標籤
41.5. errors 標籤
41.6. form 標籤
41.7. hidden 標籤
41.8. input 標籤
41.9. label 標籤
41.10. option 標籤
41.11. options 標籤
41.12. password 標籤
41.13. radiobutton 標籤
41.14. radiobuttons 標籤
41.15. select 標籤
41.16. textarea 標籤
看完目錄我以爲有點崩潰了,好長呢,這不是一我的短期能完成的工做,本着開源共享的精神我以爲不能總想着一我的作完全部的事,我大體看過曾經翻譯的Spring2.5版本,我發現有一些章節仍是很類似的,甚至有些徹底如出一轍。因此我以爲應該對前人的翻譯予以確定,所以曾經有的我會直接拿過來,拿來的我會予以明確標識,如有變更的章節,變更部分較小的也予以標識,現予以如下聲明(我會盡可能聯繫到當初翻譯的那些人徵求他們的意見,相信他們會贊成的,一樣這些翻譯也容許轉載,但要保留翻譯署名):