没有合适的资源?快使用搜索试试~ 我知道了~
首页Spring 4.0官方文档:模块详解与实战指南
Spring 4.0官方文档:模块详解与实战指南
5星 · 超过95%的资源 需积分: 7 119 下载量 71 浏览量
更新于2024-07-24
2
收藏 4.44MB PDF 举报
Spring Framework 4.0官方文档是一份详尽的指南,由Spring框架的核心开发者团队编撰,包括Rod Johnson、Juergen Hoeller等。这份文档的版权日期为2004-2013,允许个人复制和分发,但需确保不收取费用且每份复制件都包含版权声明,无论以纸质或电子形式传播。
该文档详细介绍了Spring Framework 4.0的主要概念和技术特性,分为以下几个部分:
1. **概述**(I. Overview of Spring Framework):这部分首先引导读者快速了解Spring框架,包括如何入门和其在软件开发中的基本应用。
2. **Spring Framework简介**(2. Introduction to Spring Framework):
- **依赖注入(Dependency Injection, DI)和控制反转(Inversion of Control, IoC)**:这是Spring的核心原则,DI使得代码更加松耦合,而IoC则是一种设计模式,将对象的创建和管理交由Spring容器来处理。
- **模块化**(Modules):文档介绍了Spring框架的不同模块,如核心容器(Core Container)、数据访问/集成(Data Access/Integration)、Web组件以及面向切面编程(AOP)和性能监控(Instrumentation)。
3. **具体模块详解**:
- **Core Container**:讲解了Spring容器的工作原理,如何配置和管理bean,以及它在构建复杂应用架构中的作用。
- **Data Access/Integration**:涉及数据访问技术,如JDBC、ORM(如Hibernate)以及Spring对数据库连接池的支持。
- **Web**:讨论了Spring在Web开发中的应用,包括Spring MVC、Spring WebFlux和Spring Security等模块。
- **AOP和Instrumentation**:阐述了Aspect Oriented Programming(AOP)如何用于代码优化和错误处理,以及Spring对性能监控和调试工具的集成。
4. **使用场景**(2.3. Usage scenarios):提供了实际开发中的应用场景示例,帮助读者理解Spring在不同项目中的最佳实践和应用策略。
5. **测试**(Test):涵盖了Spring Test框架,包括单元测试、集成测试和模拟对象的创建等。
这份文档是Spring 4.0版本的权威参考,为开发者提供了深入理解并掌握Spring框架不可或缺的资源,无论是初学者还是高级用户,都能从中获益匪浅。通过阅读和实践文档中的内容,开发者可以提升自己的Spring开发技能,实现高效、可维护的软件架构。
Spring Framework
4.0.0.RELEASE
Spring Framework
Reference Documentation xvi
Introduction .................................................................................................... 532
Configuration and setup .................................................................................. 532
Document view definitions ....................................................................... 532
Controller code ....................................................................................... 532
Subclassing for Excel views .................................................................... 532
Subclassing for PDF views ..................................................................... 534
17.7. JasperReports ............................................................................................... 534
Dependencies ................................................................................................ 534
Configuration .................................................................................................. 535
Configuring the ViewResolver .................................................................. 535
Configuring the Views ............................................................................. 535
About Report Files .................................................................................. 535
Using JasperReportsMultiFormatView ...................................................... 536
Populating the ModelAndView ......................................................................... 536
Working with Sub-Reports ............................................................................... 537
Configuring Sub-Report Files .................................................................. 537
Configuring Sub-Report Data Sources ..................................................... 538
Configuring Exporter Parameters ..................................................................... 538
17.8. Feed Views ................................................................................................... 539
17.9. XML Marshalling View .................................................................................... 540
17.10. JSON Mapping View .................................................................................... 540
18. Integrating with other web frameworks ....................................................................... 541
18.1. Introduction .................................................................................................... 541
18.2. Common configuration ................................................................................... 542
18.3. JavaServer Faces 1.2 .................................................................................... 543
SpringBeanFacesELResolver (JSF 1.2+) ......................................................... 543
FacesContextUtils ........................................................................................... 543
18.4. Apache Struts 2.x .......................................................................................... 544
18.5. Tapestry 5.x .................................................................................................. 544
18.6. Further Resources ......................................................................................... 544
19. Portlet MVC Framework ............................................................................................ 545
19.1. Introduction .................................................................................................... 545
Controllers - The C in MVC ............................................................................ 546
Views - The V in MVC .................................................................................... 546
Web-scoped beans ......................................................................................... 546
19.2. The DispatcherPortlet ..................................................................................... 546
19.3. The ViewRendererServlet ............................................................................... 548
19.4. Controllers ..................................................................................................... 549
AbstractController and PortletContentGenerator ............................................... 550
Other simple controllers .................................................................................. 551
Command Controllers ..................................................................................... 551
PortletWrappingController ................................................................................ 552
19.5. Handler mappings .......................................................................................... 552
PortletModeHandlerMapping ............................................................................ 553
ParameterHandlerMapping .............................................................................. 553
PortletModeParameterHandlerMapping ............................................................ 554
Adding HandlerInterceptors ............................................................................. 554
HandlerInterceptorAdapter ............................................................................... 555
ParameterMappingInterceptor .......................................................................... 555
19.6. Views and resolving them .............................................................................. 555
Spring Framework
4.0.0.RELEASE
Spring Framework
Reference Documentation xvii
19.7. Multipart (file upload) support ......................................................................... 556
Using the PortletMultipartResolver ................................................................... 556
Handling a file upload in a form ...................................................................... 557
19.8. Handling exceptions ....................................................................................... 560
19.9. Annotation-based controller configuration ........................................................ 560
Setting up the dispatcher for annotation support ............................................... 560
Defining a controller with @Controller .............................................................. 561
Mapping requests with @RequestMapping ....................................................... 562
Supported handler method arguments ............................................................. 563
Binding request parameters to method parameters with @RequestParam .......... 565
Providing a link to data from the model with @ModelAttribute ............................ 565
Specifying attributes to store in a Session with @SessionAttributes .................... 566
Customizing WebDataBinder initialization ......................................................... 566
Customizing data binding with @InitBinder ............................................... 567
Configuring a custom WebBindingInitializer .............................................. 567
19.10. Portlet application deployment ...................................................................... 567
20. WebSocket Support .................................................................................................. 569
20.1. Introduction .................................................................................................... 569
Fallback Options ............................................................................................. 569
Messaging Architecture ................................................................................... 569
Sub-Protocol Support ...................................................................................... 570
When To Use WebSocket? ............................................................................. 570
20.2. WebSocket Server ......................................................................................... 571
Create and Configure a WebSocketHandler ..................................................... 571
Customizing the WebSocket Handshake .......................................................... 572
WebSocketHandler Decoration ........................................................................ 573
Deployment Considerations ............................................................................. 573
20.3. Fallback Options ............................................................................................ 575
Enable SockJS ............................................................................................... 575
How SockJS Works ........................................................................................ 576
Spring’s SockJS Support ................................................................................ 576
20.4. STOMP Messaging ........................................................................................ 576
Overview of STOMP ....................................................................................... 577
Enable STOMP (over WebSocket) .................................................................. 578
Overview of STOMP Message Handling .......................................................... 579
Annotation-based Message Handling ....................................................... 581
Sending Messages From Anywhere ......................................................... 582
Simple Message Broker .......................................................................... 583
Using a Full-Featured Message Broker .................................................... 583
Handling Messages to User Destinations ................................................. 584
VI. Integration ......................................................................................................................... 586
21. Remoting and web services using Spring ................................................................... 587
21.1. Introduction .................................................................................................... 587
21.2. Exposing services using RMI .......................................................................... 588
Exporting the service using the RmiServiceExporter ......................................... 588
Linking in the service at the client ................................................................... 589
21.3. Using Hessian or Burlap to remotely call services via HTTP .............................. 589
Wiring up the DispatcherServlet for Hessian and co. ......................................... 589
Exposing your beans by using the HessianServiceExporter ............................... 590
Linking in the service on the client .................................................................. 591
Spring Framework
4.0.0.RELEASE
Spring Framework
Reference Documentation xviii
Using Burlap .................................................................................................. 591
Applying HTTP basic authentication to a service exposed through Hessian or
Burlap ............................................................................................................ 591
21.4. Exposing services using HTTP invokers .......................................................... 592
Exposing the service object ............................................................................ 592
Linking in the service at the client ................................................................... 593
21.5. Web services ................................................................................................. 593
Exposing servlet-based web services using JAX-WS ........................................ 594
Exporting standalone web services using JAX-WS ........................................... 595
Exporting web services using the JAX-WS RI’s Spring support .......................... 595
Accessing web services using JAX-WS ........................................................... 596
21.6. JMS .............................................................................................................. 597
Server-side configuration ................................................................................. 597
Client-side configuration .................................................................................. 598
21.7. AMQP ........................................................................................................... 599
21.8. Auto-detection is not implemented for remote interfaces ................................... 599
21.9. Considerations when choosing a technology .................................................... 599
21.10. Accessing RESTful services on the Client ..................................................... 600
RestTemplate ................................................................................................. 600
Working with the URI .............................................................................. 603
Dealing with request and response headers ............................................. 603
HTTP Message Conversion ............................................................................ 604
StringHttpMessageConverter ................................................................... 604
FormHttpMessageConverter .................................................................... 605
ByteArrayHttpMessageConverter ............................................................. 605
MarshallingHttpMessageConverter ........................................................... 605
MappingJackson2HttpMessageConverter (or
MappingJacksonHttpMessageConverter with Jackson 1.x) ........................ 605
SourceHttpMessageConverter ................................................................. 605
BufferedImageHttpMessageConverter ...................................................... 605
Async RestTemplate ....................................................................................... 605
22. Enterprise JavaBeans (EJB) integration ..................................................................... 607
22.1. Introduction .................................................................................................... 607
22.2. Accessing EJBs ............................................................................................. 607
Concepts ........................................................................................................ 607
Accessing local SLSBs ................................................................................... 607
Accessing remote SLSBs ................................................................................ 609
Accessing EJB 2.x SLSBs versus EJB 3 SLSBs ............................................... 609
22.3. Using Spring’s EJB implementation support classes ......................................... 610
EJB 3 injection interceptor .............................................................................. 610
23. JMS (Java Message Service) .................................................................................... 611
23.1. Introduction .................................................................................................... 611
23.2. Using Spring JMS .......................................................................................... 611
JmsTemplate .................................................................................................. 611
Connections ................................................................................................... 612
Caching Messaging Resources ............................................................... 612
SingleConnectionFactory ......................................................................... 612
CachingConnectionFactory ...................................................................... 613
Destination Management ................................................................................. 613
Message Listener Containers .......................................................................... 614
Spring Framework
4.0.0.RELEASE
Spring Framework
Reference Documentation xix
SimpleMessageListenerContainer ............................................................ 614
DefaultMessageListenerContainer ............................................................ 614
Transaction management ................................................................................ 614
23.3. Sending a Message ....................................................................................... 615
Using Message Converters ............................................................................. 616
SessionCallback and ProducerCallback ........................................................... 617
23.4. Receiving a message ..................................................................................... 617
Synchronous Reception .................................................................................. 617
Asynchronous Reception - Message-Driven POJOs .......................................... 617
the SessionAwareMessageListener interface .................................................... 618
the MessageListenerAdapter ........................................................................... 619
Processing messages within transactions ........................................................ 621
23.5. Support for JCA Message Endpoints ............................................................... 621
23.6. JMS Namespace Support ............................................................................... 623
24. JMX ......................................................................................................................... 627
24.1. Introduction .................................................................................................... 627
24.2. Exporting your beans to JMX .......................................................................... 627
Creating an MBeanServer ............................................................................... 629
Reusing an existing MBeanServer ................................................................... 629
Lazy-initialized MBeans ................................................................................... 630
Automatic registration of MBeans .................................................................... 630
Controlling the registration behavior ................................................................. 630
24.3. Controlling the management interface of your beans ........................................ 632
the MBeanInfoAssembler Interface .................................................................. 632
Using Source-Level Metadata (JDK 5.0 annotations) ........................................ 632
Source-Level Metadata Types ......................................................................... 634
the AutodetectCapableMBeanInfoAssembler interface ...................................... 635
Defining management interfaces using Java interfaces ..................................... 636
Using MethodNameBasedMBeanInfoAssembler ............................................... 638
24.4. Controlling the ObjectNames for your beans .................................................... 638
Reading ObjectNames from Properties ............................................................ 638
Using the MetadataNamingStrategy ................................................................. 639
Configuring annotation based MBean export .................................................... 640
24.5. JSR-160 Connectors ...................................................................................... 641
Server-side Connectors ................................................................................... 641
Client-side Connectors .................................................................................... 642
JMX over Burlap/Hessian/SOAP ...................................................................... 642
24.6. Accessing MBeans via Proxies ....................................................................... 642
24.7. Notifications ................................................................................................... 643
Registering Listeners for Notifications .............................................................. 643
Publishing Notifications ................................................................................... 647
24.8. Further Resources ......................................................................................... 649
25. JCA CCI .................................................................................................................. 650
25.1. Introduction .................................................................................................... 650
25.2. Configuring CCI ............................................................................................. 650
Connector configuration .................................................................................. 650
ConnectionFactory configuration in Spring ....................................................... 651
Configuring CCI connections ........................................................................... 651
Using a single CCI connection ........................................................................ 652
25.3. Using Spring’s CCI access support ................................................................. 653
Spring Framework
4.0.0.RELEASE
Spring Framework
Reference Documentation xx
Record conversion .......................................................................................... 653
the CciTemplate ............................................................................................. 654
DAO support .................................................................................................. 655
Automatic output record generation ................................................................. 656
Summary ....................................................................................................... 656
Using a CCI Connection and Interaction directly ............................................... 657
Example for CciTemplate usage ...................................................................... 658
25.4. Modeling CCI access as operation objects ...................................................... 660
MappingRecordOperation ................................................................................ 660
MappingCommAreaOperation .......................................................................... 661
Automatic output record generation ................................................................. 662
Summary ....................................................................................................... 662
Example for MappingRecordOperation usage ................................................... 662
Example for MappingCommAreaOperation usage ............................................. 664
25.5. Transactions .................................................................................................. 666
26. Email ....................................................................................................................... 668
26.1. Introduction .................................................................................................... 668
26.2. Usage ........................................................................................................... 668
Basic MailSender and SimpleMailMessage usage ............................................ 669
Using the JavaMailSender and the MimeMessagePreparator ............................. 670
26.3. Using the JavaMail MimeMessageHelper ........................................................ 671
Sending attachments and inline resources ....................................................... 671
Attachments ........................................................................................... 671
Inline resources ...................................................................................... 672
Creating email content using a templating library .............................................. 672
A Velocity-based example ....................................................................... 672
27. Task Execution and Scheduling ................................................................................. 676
27.1. Introduction .................................................................................................... 676
27.2. The Spring TaskExecutor abstraction .............................................................. 676
TaskExecutor types ........................................................................................ 676
Using a TaskExecutor ..................................................................................... 677
27.3. The Spring TaskScheduler abstraction ............................................................ 678
the Trigger interface ....................................................................................... 679
Trigger implementations .................................................................................. 679
TaskScheduler implementations ...................................................................... 680
27.4. Annotation Support for Scheduling and Asynchronous Execution ....................... 680
Enable scheduling annotations ........................................................................ 680
The @Scheduled Annotation ........................................................................... 681
The @Async Annotation ................................................................................. 682
Executor qualification with @Async ................................................................. 683
27.5. The Task Namespace .................................................................................... 683
The scheduler element ................................................................................... 683
The executor element ..................................................................................... 684
The scheduled-tasks element .......................................................................... 685
27.6. Using the Quartz Scheduler ............................................................................ 685
Using the JobDetailBean ................................................................................. 685
Using the MethodInvokingJobDetailFactoryBean .............................................. 686
Wiring up jobs using triggers and the SchedulerFactoryBean ............................. 687
28. Dynamic language support ........................................................................................ 689
28.1. Introduction .................................................................................................... 689
剩余826页未读,继续阅读
2009-03-27 上传
2015-02-06 上传
2009-03-27 上传
2018-10-24 上传
2018-01-11 上传
2018-11-30 上传
2009-11-04 上传
2019-04-10 上传
人生海洋
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 新型智能电加热器:触摸感应与自动温控技术
- 社区物流信息管理系统的毕业设计实现
- VB门诊管理系统设计与实现(附论文与源代码)
- 剪叉式高空作业平台稳定性研究与创新设计
- DAMA CDGA考试必备:真题模拟及章节重点解析
- TaskExplorer:全新升级的系统监控与任务管理工具
- 新型碎纸机进纸间隙调整技术解析
- 有腿移动机器人动作教学与技术存储介质的研究
- 基于遗传算法优化的RBF神经网络分析工具
- Visual Basic入门教程完整版PDF下载
- 海洋岸滩保洁与垃圾清运服务招标文件公示
- 触摸屏测量仪器与粘度测定方法
- PSO多目标优化问题求解代码详解
- 有机硅组合物及差异剥离纸或膜技术分析
- Win10快速关机技巧:去除关机阻止功能
- 创新打印机设计:速释打印头与压纸辊安装拆卸便捷性
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功