前一段時間翻譯了Jetty的一部分文檔,感覺對閱讀英文沒有大的提高(*^-^*),畢竟Jetty的受眾面還是比較小的,而且翻譯過程中發現Jetty的文檔寫的不是很好,所以呢翻譯的興趣慢慢就不大了,只能等到以后工作中用到再去翻譯了(*^__^*),不管怎樣下面給出翻譯的地址。
現在呢,我打算學習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版本,我發現有一些章節還是很相似的,甚至有些完全一模一樣。所以我覺得應該對前人的翻譯予以肯定,因此曾經有的我會直接拿過來,拿來的我會予以明確標識,若有變動的章節,變動部分較小的也予以標識,現予以以下聲明(我會盡量聯系到當初翻譯的那些人征求他們的意見,相信他們會同意的,同樣這些翻譯也允許轉載,但要保留翻譯署名):