http://spring.oschina.mopaas.com/
4.1.3.RELEASE
Copyright © 2004-2014
Table of Contents
-
I. Spring 框架概述
- II. Spring 4.x的新功能
- III. 核心技术
-
-
5. IoC 容器
-
-
5.1. Spring IoC容器和Bean概述
5.2. 容器概述
- 5.3. Bean overview
- 5.4. 依赖
- 5.5. Bean scopes
- 5.6. Customizing the nature of a bean
- 5.7. Bean definition inheritance 5.8. Container Extension Points
- 5.9. Annotation-based container configuration
- 5.10. Classpath scanning and managed components
-
-
5.10.1. @Component and further stereotype annotations
5.10.2. Meta-annotations
5.10.3. Automatically detecting classes and registering bean definitions
5.10.4. Using filters to customize scanning
5.10.5. Defining bean metadata within components
5.10.6. Naming autodetected components
5.10.7. Providing a scope for autodetected components
5.10.8. Providing qualifier metadata with annotations
5.11. Using JSR 330 Standard Annotations
- 5.12. Java-based container configuration
- 5.13. Environment abstraction
- 5.14. Registering a LoadTimeWeaver 5.15. Additional Capabilities of the ApplicationContext
- 5.16. The BeanFactory
6. Resources
- 7. 数据校验、数据绑定和类型转换
-
-
7.1. 概述
7.2. 使用Spring的Validator接口来进行数据校验
7.3. 通过错误编码得到错误信息
7.4. Bean的操作和BeanWrapper
- 7.5. Spring Type Conversion
- 7.6. Spring Field Formatting
- 7.7. Configuring a global date & time format 7.8. Spring Validation
8. Spring 表达式语言 (SpEL)
-
-
8.1. 介绍
8.2. 功能概述
8.3. 使用Spring的表达接口 表达式求值
- 8.4. 定义bean的beandef表达支持
- 8.5. 语言参考
- 8.6. Classes used in the examples
9. Aspect Oriented Programming with Spring
-
-
9.1. Introduction
- 9.2. @AspectJ support
- 9.3. Schema-based AOP support
- 9.4. Choosing which AOP declaration style to use
- 9.5. Mixing aspect types 9.6. Proxying mechanisms
- 9.7. Programmatic creation of @AspectJ Proxies 9.8. Using AspectJ with Spring applications
- 9.9. Further Resources
10. Spring AOP APIs
-
-
10.1. Introduction
10.2. Pointcut API in Spring
- 10.3. Advice API in Spring
- 10.4. Advisor API in Spring 10.5. Using the ProxyFactoryBean to create AOP proxies
- 10.6. Concise proxy definitions 10.7. Creating AOP proxies programmatically with the ProxyFactory 10.8. Manipulating advised objects 10.9. Using the "auto-proxy" facility
- 10.10. Using TargetSources
- 10.11. Defining new Advice types 10.12. Further resources 10.13. Introduction to Spring Testing 10.14. Unit Testing
- 10.15. Integration Testing
- 10.16. Further Resources
IV. 数据访问
-
-
-
11. 事务管理
-
-
11.1. Spring Framework事务管理介绍
11.2. Spring Framework的事务支持模型的优点
- 11.3. Understanding the Spring Framework transaction abstraction 11.4. Synchronizing resources with transactions
- 11.5. Declarative transaction management
-
-
11.5.1. Understanding the Spring Framework’s declarative transaction implementation
11.5.2. Example of declarative transaction implementation
11.5.3. Rolling back a declarative transaction
11.5.4. Configuring different transactional semantics for different beans
11.5.5. <tx:advice/> settings
11.5.6. Using @Transactional
- 11.5.7. Transaction propagation
- 11.5.8. Advising transactional operations 11.5.9. Using @Transactional with AspectJ
11.6. Programmatic transaction management
- 11.7. Choosing between programmatic and declarative transaction management 11.8. Application server-specific integration
- 11.9. Solutions to common problems
- 11.10. Further Resources
12. DAO support
- 13. Data access with JDBC
-
-
13.1. Introduction to Spring Framework JDBC
- 13.2. Using the JDBC core classes to control basic JDBC processing and error handling
- 13.3. Controlling database connections
- 13.4. JDBC batch operations
- 13.5. Simplifying JDBC operations with the SimpleJdbc classes
-
-
13.5.1. Inserting data using SimpleJdbcInsert
13.5.2. Retrieving auto-generated keys using SimpleJdbcInsert
13.5.3. Specifying columns for a SimpleJdbcInsert
13.5.4. Using SqlParameterSource to provide parameter values
13.5.5. Calling a stored procedure with SimpleJdbcCall
13.5.6. Explicitly declaring parameters to use for a SimpleJdbcCall
13.5.7. How to define SqlParameters
13.5.8. Calling a stored function using SimpleJdbcCall
13.5.9. Returning ResultSet/REF Cursor from a SimpleJdbcCall
13.6. Modeling JDBC operations as Java objects
- 13.7. Common problems with parameter and data value handling
- 13.8. Embedded database support
-
-
13.8.1. Why use an embedded database?
13.8.2. Creating an embedded database instance using Spring XML
13.8.3. Creating an embedded database instance programmatically
13.8.4. Extending the embedded database support
13.8.5. Using HSQL
13.8.6. Using H2
13.8.7. Using Derby
13.8.8. Testing data access logic with an embedded database
13.9. Initializing a DataSource
14. 对象关系映射(ORM)数据访问
- 15. Marshalling XML using O/X Mappers
V. The Web
-
-
-
16. Web MVC 框架
-
-
16.1. Spring Web MVC 框架介绍
- 16.2. The DispatcherServlet
- 16.3. Implementing Controllers
-
-
16.3.1. 使用 @Controller 定义控制器
16.3.2. 使用 @RequestMapping 映射请求
- 16.3.3. 定义 @RequestMapping 处理方法
-
-
可支持的方法参数类型
可支持的方法返回类型
使用 @RequestParam 将请求参数绑定到方法参数
使用 @RequestBody 映射请求体
使用 @ResponseBody 映射响应体
使用 @RestController 创建 REST 控制器
使用 HttpEntity
在方法上使用 @ModelAttribute
在方法参数上使用 @ModelAttribute
使用 @SessionAttributes 将模型属性存储到 HTTP session
指定 redirect 和 flash 属性
处理 "application/x-www-form-urlencoded" 数据
使用 @CookieValue 映射 cookie 值
使用 @RequestHeader 映射请求头字段属性
方法参数和类型转换
自定义 WebDataBinder 的初始化
支持 Last-Modified 响应头,方便缓存内容
使用
@ControllerAdvice
注解增强控制器 支持 Jackson 序列化视图 支持 Jackson JSONP
16.3.4. 异步请求处理
- 16.3.5. 测试控制器
16.4. Handler 映射
- 16.5. 视图解析
- 16.6. 使用 flash 属性 16.7. 构建 URI
- 16.8. 使用本地化
- 16.9. 主题的使用
- 16.10. Spring’s multipart (file upload) support
- 16.11. Handling exceptions
- 16.12. Web Security 16.13. Convention over configuration support
- 16.14. ETag support 16.15. Code-based Servlet container initialization 16.16. Configuring Spring MVC
-
-
16.16.1. Enabling the MVC Java Config or the MVC XML Namespace
16.16.2. Customizing the Provided Configuration
16.16.3. Interceptors
16.16.4. Content Negotiation
16.16.5. View Controllers
16.16.6. View Resolvers
16.16.7. Serving of Resources
16.16.8. Falling Back On the "Default" Servlet To Serve Resources
16.16.9. Path Matching
16.16.10. Advanced Customizations with MVC Java Config
16.16.11. Advanced Customizations with the MVC Namespace
17. View technologies
-
-
17.1. Introduction
17.2. JSP & JSTL
- 17.3. Tiles
- 17.4. Velocity & FreeMarker
- 17.5. XSLT
- 17.6. Document views (PDF/Excel)
- 17.7. JasperReports
- 17.8. Feed Views 17.9. XML Marshalling View 17.10. JSON Mapping View 17.11. XML Mapping View
18. 同其他web框架集成
- 19. Portlet MVC Framework
-
-
19.1. Introduction
- 19.2. The DispatcherPortlet 19.3. The ViewRendererServlet 19.4. Controllers
- 19.5. Handler mappings
- 19.6. Views and resolving them 19.7. Multipart (file upload) support
- 19.8. Handling exceptions 19.9. Annotation-based controller configuration
-
-
19.9.1. Setting up the dispatcher for annotation support
19.9.2. Defining a controller with @Controller
19.9.3. Mapping requests with @RequestMapping
19.9.4. Supported handler method arguments
19.9.5. Binding request parameters to method parameters with @RequestParam
19.9.6. Providing a link to data from the model with @ModelAttribute
19.9.7. Specifying attributes to store in a Session with @SessionAttributes
19.9.8. Customizing WebDataBinder initialization
19.10. Portlet application deployment
20. WebSocket 支持
-
-
20.1. 介绍
- 20.2. WebSocket API
- 20.3. SockJS Fallback Options
- 20.4. STOMP Over WebSocket Messaging Architecture
-
-
20.4.1. Overview of STOMP
20.4.2. Enable STOMP over WebSocket
20.4.3. Flow of Messages
20.4.4. Annotation Message Handling
20.4.5. Sending Messages
20.4.6. Simple Broker
20.4.7. Full-Featured Broker
20.4.8. Connections To Full-Featured Broker
20.4.9. Using Dot as Separator in
@MessageMapping
Destinations 20.4.10. Authentication 20.4.11. User Destinations 20.4.12. Listening To ApplicationContext Events and Intercepting Messages 20.4.13. WebSocket Scope 20.4.14. Configuration and Performance 20.4.15. Runtime Monitoring 20.4.16. 测试带注解的控制器方法 Testing Annotated Controller Methods
VI. Integration
-
-
-
21. Remoting and web services using Spring
-
-
21.1. Introduction
21.2. Exposing services using RMI
- 21.3. Using Hessian or Burlap to remotely call services via HTTP
- 21.4. Exposing services using HTTP invokers
- 21.5. Web services
- 21.6. JMS
- 21.7. AMQP 21.8. Auto-detection is not implemented for remote interfaces 21.9. Considerations when choosing a technology 21.10. Accessing RESTful services on the Client
22. Enterprise JavaBeans (EJB) integration
- 23. JMS (Java Message Service)
- 24. JMX
- 25. JCA CCI
- 26. Email
- 27. Task Execution and Scheduling
- 28. Dynamic language support
- 29. Cache Abstraction
-
-
29.1. Introduction
29.2. Understanding the cache abstraction
29.3. Declarative annotation-based caching
- 29.4. JCache (JSR-107) annotations
- 29.5. Declarative XML-based caching 29.6. Configuring the cache storage
- 29.7. Plugging-in different back-end caches 29.8. How can I set the TTL/TTI/Eviction policy/XXX feature?
VII. Appendices
-
-
-
30. Migrating to Spring Framework 4.0
31. Classic Spring Usage
- 32. Classic Spring AOP Usage
-
-
32.1. Pointcut API in Spring
- 32.2. Advice API in Spring
- 32.3. Advisor API in Spring 32.4. Using the ProxyFactoryBean to create AOP proxies
- 32.5. Concise proxy definitions 32.6. Creating AOP proxies programmatically with the ProxyFactory 32.7. Manipulating advised objects 32.8. Using the "autoproxy" facility
- 32.9. Using TargetSources
- 32.10. Defining new Advice types 32.11. Further resources
33. XML Schema-based configuration
-
-
33.1. Introduction
33.2. XML Schema-based configuration
-
-
33.2.1. Referencing the schemas
33.2.2. the util schema
- 33.2.3. the jee schema
- 33.2.4. the lang schema 33.2.5. the jms schema 33.2.6. the tx (transaction) schema 33.2.7. the aop schema 33.2.8. the context schema
- 33.2.9. the tool schema 33.2.10. the jdbc schema 33.2.11. the cache schema 33.2.12. the beans schema
34. Extensible XML authoring
-
- 35. spring.tld
- 36. spring-form.tld
-
-
36.1. Introduction
36.2. the checkbox tag
36.3. the checkboxes tag
36.4. the errors tag
36.5. the form tag
36.6. the hidden tag
36.7. the input tag
36.8. the label tag
36.9. the option tag
36.10. the options tag
36.11. the password tag
36.12. the radiobutton tag
36.13. the radiobuttons tag
36.14. the select tag
36.15. the textarea tag