没有合适的资源?快使用搜索试试~ 我知道了~
首页Spring 4.3开发手册:全新指南与核心组件详解
Spring 4.3开发手册:全新指南与核心组件详解
1星 需积分: 10 14 下载量 30 浏览量
更新于2024-07-20
收藏 6.92MB PDF 举报
Spring 4.3 开发手册是Spring Framework官方发布的一份详细文档,针对版本4.3.0.RELEASE进行了编撰。Spring Framework 是一个开源的、轻量级的Java企业级应用开发框架,由Rod Johnson、Juergen Hoeller等多位知名开发者共同维护。这份手册覆盖了Spring Framework的核心概念和关键特性,旨在帮助开发者高效地进行应用程序开发。
1. **概述** (Overview of Spring Framework)
- 本部分介绍了Spring Framework的基本概念和目标,包括它如何简化Java应用程序的开发过程,以及其在企业级应用中的角色。Spring的核心理念在于依赖注入(Dependency Injection,DI)和控制反转(Inversion of Control,IoC),这两种设计模式极大地提高了代码的可测试性和灵活性。
2. **入门指南** (Getting Started with Spring)
- 这一部分为初学者提供了一个快速入门路径,包括如何集成Spring到项目中,配置基础环境,以及使用Spring容器(Core Container)管理对象生命周期。
3. **Spring模块** (Modules)
- Spring框架由多个模块组成,如核心容器、面向切面编程(AOP)和日志/监控(Instrumentation)等。这些模块相互配合,提供全面的解决方案,如数据访问(Data Access)、消息传递(Messaging)等。
4. **核心容器** (Core Container)
- Spring的Core Container是整个框架的心脏,负责创建、管理对象,以及处理依赖关系。通过XML配置或注解驱动,它可以自动装配对象并确保它们之间的依赖关系得到正确处理。
5. **AOP和Instrumentation** (AOP and Instrumentation)
- AOP(Aspect-Oriented Programming)支持程序的非功能性需求(如日志、事务管理)与业务逻辑分离,而Instrumentation则用于性能监控和动态代理,提高系统的可扩展性。
6. **其他特性**
- 提供了Spring Data等高级功能的介绍,这些模块允许开发者更轻松地处理数据库操作、RESTful服务以及其他特定领域的任务。此外,文档还包含了与第三方库的集成指南,如Spring Security用于安全管理。
版权信息表明,这份手册可以免费复制和分发,但必须保留版权声明,并且不允许收取费用。Spring Framework Reference Documentation 4.3.0.RELEASE的作者名单包含了众多贡献者,他们的工作确保了Spring Framework始终保持着高质量和实用性。
阅读这份Spring 4.3开发手册可以帮助开发者深入理解Spring框架的工作原理,掌握其核心组件和最佳实践,从而在实际开发中更有效地利用Spring进行企业级应用的构建。
Spring Framework Reference Documentation
4.3.0.RELEASE Spring Framework xvi
21.6. Castor ........................................................................................................... 467
CastorMarshaller ............................................................................................ 467
Mapping ......................................................................................................... 468
XML Schema-based Configuration ........................................................... 468
21.7. XMLBeans ..................................................................................................... 469
XmlBeansMarshaller ....................................................................................... 469
XML Schema-based Configuration ........................................................... 469
21.8. JiBX .............................................................................................................. 469
JibxMarshaller ................................................................................................ 470
XML Schema-based Configuration ........................................................... 470
21.9. XStream ........................................................................................................ 470
XStreamMarshaller ......................................................................................... 470
VI. The Web .......................................................................................................................... 472
22. Web MVC framework ................................................................................................ 473
22.1. Introduction to Spring Web MVC framework .................................................... 473
Features of Spring Web MVC ......................................................................... 473
Pluggability of other MVC implementations ...................................................... 475
22.2. The DispatcherServlet .................................................................................... 475
Special Bean Types In the WebApplicationContext ........................................... 479
Default DispatcherServlet Configuration ........................................................... 480
DispatcherServlet Processing Sequence .......................................................... 480
22.3. Implementing Controllers ................................................................................ 482
Defining a controller with @Controller .............................................................. 482
Mapping Requests With @RequestMapping ..................................................... 483
Composed @RequestMapping Variants ................................................... 484
@Controller and AOP Proxying ............................................................... 485
New Support Classes for @RequestMapping methods in Spring MVC 3.1 .. 485
URI Template Patterns ........................................................................... 486
URI Template Patterns with Regular Expressions ..................................... 487
Path Patterns ......................................................................................... 487
Path Pattern Comparison ........................................................................ 488
Path Patterns with Placeholders .............................................................. 488
Suffix Pattern Matching ........................................................................... 488
Suffix Pattern Matching and RFD ............................................................ 488
Matrix Variables ...................................................................................... 489
Consumable Media Types ....................................................................... 491
Producible Media Types .......................................................................... 491
Request Parameters and Header Values ................................................. 492
HTTP HEAD and HTTP OPTIONS .......................................................... 492
Defining @RequestMapping handler methods .................................................. 493
Supported method argument types .......................................................... 493
Supported method return types ............................................................... 495
Binding request parameters to method parameters with @RequestParam ... 496
Mapping the request body with the @RequestBody annotation .................. 497
Mapping the response body with the @ResponseBody annotation ............. 498
Creating REST Controllers with the @RestController annotation ................ 499
Using HttpEntity ...................................................................................... 499
Using @ModelAttribute on a method ....................................................... 499
Using @ModelAttribute on a method argument ......................................... 500
Spring Framework Reference Documentation
4.3.0.RELEASE Spring Framework xvii
Using @SessionAttributes to store model attributes in the HTTP session
between requests ................................................................................... 502
Using @SessionAttribute to access pre-existing global session attributes .... 503
Using @RequestAttribute to access request attributes .............................. 503
Working with "application/x-www-form-urlencoded" data ............................ 503
Mapping cookie values with the @CookieValue annotation ........................ 504
Mapping request header attributes with the @RequestHeader annotation ... 504
Method Parameters And Type Conversion ............................................... 505
Customizing WebDataBinder initialization ................................................. 505
Advising controllers with @ControllerAdvice and @RestControllerAdvice .... 506
Jackson Serialization View Support ......................................................... 507
Jackson JSONP Support ........................................................................ 508
Asynchronous Request Processing .................................................................. 509
Exception Handling for Async Requests ................................................... 510
Intercepting Async Requests ................................................................... 511
HTTP Streaming ..................................................................................... 511
HTTP Streaming With Server-Sent Events ............................................... 511
HTTP Streaming Directly To The OutputStream ....................................... 512
Configuring Asynchronous Request Processing ........................................ 512
Testing Controllers ......................................................................................... 513
22.4. Handler mappings .......................................................................................... 513
Intercepting requests with a HandlerInterceptor ................................................ 514
22.5. Resolving views ............................................................................................. 516
Resolving views with the ViewResolver interface .............................................. 516
Chaining ViewResolvers ................................................................................. 518
Redirecting to Views ....................................................................................... 518
RedirectView .......................................................................................... 519
The redirect: prefix ................................................................................. 520
The forward: prefix ................................................................................. 520
ContentNegotiatingViewResolver ..................................................................... 520
22.6. Using flash attributes ..................................................................................... 522
22.7. Building URIs ................................................................................................. 523
Building URIs to Controllers and methods ........................................................ 524
Building URIs to Controllers and methods from views ....................................... 525
22.8. Using locales ................................................................................................. 526
Obtaining Time Zone Information .................................................................... 526
AcceptHeaderLocaleResolver .......................................................................... 526
CookieLocaleResolver ..................................................................................... 526
SessionLocaleResolver ................................................................................... 527
LocaleChangeInterceptor ................................................................................ 527
22.9. Using themes ................................................................................................ 527
Overview of themes ........................................................................................ 527
Defining themes ............................................................................................. 528
Theme resolvers ............................................................................................. 528
22.10. Spring’s multipart (file upload) support ........................................................... 529
Introduction .................................................................................................... 529
Using a MultipartResolver with Commons FileUpload ........................................ 529
Using a MultipartResolver with Servlet 3.0 ....................................................... 529
Handling a file upload in a form ...................................................................... 530
Handling a file upload request from programmatic clients .................................. 531
Spring Framework Reference Documentation
4.3.0.RELEASE Spring Framework xviii
22.11. Handling exceptions ..................................................................................... 532
HandlerExceptionResolver .............................................................................. 532
@ExceptionHandler ........................................................................................ 532
Handling Standard Spring MVC Exceptions ...................................................... 533
Annotating Business Exceptions With @ResponseStatus .................................. 534
Customizing the Default Servlet Container Error Page ...................................... 534
22.12. Web Security ............................................................................................... 535
22.13. Convention over configuration support ........................................................... 535
The Controller ControllerClassNameHandlerMapping ........................................ 535
The Model ModelMap (ModelAndView) ............................................................ 536
The View - RequestToViewNameTranslator ..................................................... 537
22.14. HTTP caching support .................................................................................. 538
Cache-Control HTTP header ........................................................................... 539
HTTP caching support for static resources ....................................................... 539
Support for the Cache-Control, ETag and Last-Modified response headers in
Controllers ...................................................................................................... 540
Shallow ETag support ..................................................................................... 541
22.15. Code-based Servlet container initialization ..................................................... 542
22.16. Configuring Spring MVC ............................................................................... 543
Enabling the MVC Java Config or the MVC XML Namespace ............................ 544
Customizing the Provided Configuration ........................................................... 545
Conversion and Formatting ............................................................................. 546
Validation ....................................................................................................... 547
Interceptors .................................................................................................... 548
Content Negotiation ........................................................................................ 549
View Controllers ............................................................................................. 550
View Resolvers .............................................................................................. 550
Serving of Resources ..................................................................................... 551
Falling Back On the "Default" Servlet To Serve Resources ................................ 554
Path Matching ................................................................................................ 555
Message Converters ....................................................................................... 556
Advanced Customizations with MVC Java Config ............................................. 557
Advanced Customizations with the MVC Namespace ........................................ 558
23. View technologies ..................................................................................................... 559
23.1. Introduction .................................................................................................... 559
23.2. Thymeleaf ..................................................................................................... 559
23.3. Groovy Markup Templates .............................................................................. 559
Configuration .................................................................................................. 559
Example ......................................................................................................... 560
23.4. Velocity & FreeMarker .................................................................................... 560
Dependencies ................................................................................................ 560
Context configuration ...................................................................................... 560
Creating templates ......................................................................................... 561
Advanced configuration ................................................................................... 561
velocity.properties ................................................................................... 561
FreeMarker ............................................................................................. 562
Bind support and form handling ....................................................................... 562
The bind macros .................................................................................... 562
Simple binding ........................................................................................ 562
Form input generation macros ................................................................. 563
Spring Framework Reference Documentation
4.3.0.RELEASE Spring Framework xix
HTML escaping and XHTML compliance ................................................. 567
23.5. JSP & JSTL .................................................................................................. 567
View resolvers ................................................................................................ 567
'Plain-old' JSPs versus JSTL ........................................................................... 568
Additional tags facilitating development ............................................................ 568
Using Spring’s form tag library ........................................................................ 568
Configuration .......................................................................................... 569
The form tag .......................................................................................... 569
The input tag .......................................................................................... 570
The checkbox tag ................................................................................... 570
The checkboxes tag ............................................................................... 572
The radiobutton tag ................................................................................ 572
The radiobuttons tag ............................................................................... 572
The password tag ................................................................................... 573
The select tag ........................................................................................ 573
The option tag ........................................................................................ 573
The options tag ...................................................................................... 574
The textarea tag ..................................................................................... 575
The hidden tag ....................................................................................... 575
The errors tag ........................................................................................ 575
HTTP Method Conversion ....................................................................... 577
HTML5 Tags .......................................................................................... 578
23.6. Script templates ............................................................................................. 578
Dependencies ................................................................................................ 578
How to integrate script based templating .......................................................... 579
23.7. XML Marshalling View .................................................................................... 581
23.8. Tiles .............................................................................................................. 581
Dependencies ................................................................................................ 581
How to integrate Tiles ..................................................................................... 581
UrlBasedViewResolver ............................................................................ 582
ResourceBundleViewResolver ................................................................. 582
SimpleSpringPreparerFactory and SpringBeanPreparerFactory ................. 583
23.9. XSLT ............................................................................................................. 583
My First Words ............................................................................................... 584
Bean definitions ...................................................................................... 584
Standard MVC controller code ................................................................. 584
Document transformation ........................................................................ 585
23.10. Document views (PDF/Excel) ........................................................................ 585
Introduction .................................................................................................... 585
Configuration and setup .................................................................................. 586
Document view definitions ....................................................................... 586
Controller code ....................................................................................... 586
Subclassing for Excel views .................................................................... 586
Subclassing for PDF views ..................................................................... 588
23.11. JasperReports .............................................................................................. 588
Dependencies ................................................................................................ 588
Configuration .................................................................................................. 588
Configuring the ViewResolver .................................................................. 589
Configuring the Views ............................................................................. 589
About Report Files .................................................................................. 589
Spring Framework Reference Documentation
4.3.0.RELEASE Spring Framework xx
Using JasperReportsMultiFormatView ...................................................... 589
Populating the ModelAndView ......................................................................... 590
Working with Sub-Reports ............................................................................... 591
Configuring Sub-Report Files .................................................................. 591
Configuring Sub-Report Data Sources ..................................................... 592
Configuring Exporter Parameters ..................................................................... 592
23.12. Feed Views ................................................................................................. 593
23.13. JSON Mapping View .................................................................................... 593
23.14. XML Mapping View ...................................................................................... 594
24. Integrating with other web frameworks ....................................................................... 595
24.1. Introduction .................................................................................................... 595
24.2. Common configuration ................................................................................... 596
24.3. JavaServer Faces 1.2 .................................................................................... 597
SpringBeanFacesELResolver (JSF 1.2+) ......................................................... 597
FacesContextUtils ........................................................................................... 597
24.4. Apache Struts 2.x .......................................................................................... 597
24.5. Tapestry 5.x .................................................................................................. 598
24.6. Further Resources ......................................................................................... 598
25. Portlet MVC Framework ............................................................................................ 599
25.1. Introduction .................................................................................................... 599
Controllers - The C in MVC ............................................................................ 600
Views - The V in MVC .................................................................................... 600
Web-scoped beans ......................................................................................... 600
25.2. The DispatcherPortlet ..................................................................................... 600
25.3. The ViewRendererServlet ............................................................................... 602
25.4. Controllers ..................................................................................................... 603
AbstractController and PortletContentGenerator ............................................... 604
Other simple controllers .................................................................................. 605
Command Controllers ..................................................................................... 605
PortletWrappingController ................................................................................ 606
25.5. Handler mappings .......................................................................................... 606
PortletModeHandlerMapping ............................................................................ 607
ParameterHandlerMapping .............................................................................. 607
PortletModeParameterHandlerMapping ............................................................ 608
Adding HandlerInterceptors ............................................................................. 608
HandlerInterceptorAdapter ............................................................................... 609
ParameterMappingInterceptor .......................................................................... 609
25.6. Views and resolving them .............................................................................. 609
25.7. Multipart (file upload) support ......................................................................... 609
Using the PortletMultipartResolver ................................................................... 610
Handling a file upload in a form ...................................................................... 610
25.8. Handling exceptions ....................................................................................... 614
25.9. Annotation-based controller configuration ........................................................ 614
Setting up the dispatcher for annotation support ............................................... 614
Defining a controller with @Controller .............................................................. 615
Mapping requests with @RequestMapping ....................................................... 615
Supported handler method arguments ............................................................. 617
Binding request parameters to method parameters with @RequestParam .......... 619
Providing a link to data from the model with @ModelAttribute ............................ 619
Specifying attributes to store in a Session with @SessionAttributes .................... 620
剩余903页未读,继续阅读
2018-02-24 上传
叮当66
- 粉丝: 243
- 资源: 39
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- zlib-1.2.12压缩包解析与技术要点
- 微信小程序滑动选项卡源码模版发布
- Unity虚拟人物唇同步插件Oculus Lipsync介绍
- Nginx 1.18.0版本WinSW自动安装与管理指南
- Java Swing和JDBC实现的ATM系统源码解析
- 掌握Spark Streaming与Maven集成的分布式大数据处理
- 深入学习推荐系统:教程、案例与项目实践
- Web开发者必备的取色工具软件介绍
- C语言实现李春葆数据结构实验程序
- 超市管理系统开发:asp+SQL Server 2005实战
- Redis伪集群搭建教程与实践
- 掌握网络活动细节:Wireshark v3.6.3网络嗅探工具详解
- 全面掌握美赛:建模、分析与编程实现教程
- Java图书馆系统完整项目源码及SQL文件解析
- PCtoLCD2002软件:高效图片和字符取模转换
- Java开发的体育赛事在线购票系统源码分析
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功