没有合适的资源?快使用搜索试试~ 我知道了~
首页Spring框架参考文档4.0.0版
Spring框架参考文档4.0.0版
5星 · 超过95%的资源 需积分: 7 6 下载量 124 浏览量
更新于2024-07-23
收藏 4.44MB PDF 举报
"Spring Framework Reference Document 4.0.0"
Spring Framework 是一个开源的应用程序框架,它主要针对Java平台,为开发人员提供了全面的基础设施支持,用于构建企业级应用程序。这个框架以其依赖注入(Dependency Injection,简称DI)和控制反转(Inversion of Control,简称IoC)为核心特性,极大地简化了Java应用的开发工作。
1. **依赖注入和控制反转**
- 依赖注入是Spring的核心特性之一,它允许组件之间的依赖关系在运行时被注入,而不是在代码中硬编码。这样,组件可以保持松耦合,提高了可测试性和可维护性。
- 控制反转是指应用程序的控制权从应用程序本身转移到外部容器(如Spring框架),容器负责创建对象并管理它们的生命周期,而不是由对象自己来管理。
2. **Spring Framework的模块**
- **核心容器**:包括Core、Beans、Context模块,提供DI/IoC服务,以及bean工厂和应用上下文等核心功能。
- **数据访问/集成**:涵盖JDBC、ORM(Object-Relational Mapping)、OXM(Object-XML Mapping)、JMS等,支持多种数据库访问和数据集成技术。
- **Web**:包括Web-Servlet和Web-Struts模块,用于构建基于Servlet的Web应用,以及与Struts框架的集成。
- **AOP和Instrumentation**:AOP模块提供了面向切面编程的支持,允许定义方法拦截器和切面。Instrumentation模块则提供了类加载器和内存分析工具。
- **Test**:提供了测试支持,包括对JUnit和TestNG的集成,使得在Spring环境中进行单元测试和集成测试变得更加容易。
3. **使用场景**
- Spring可以用于构建各种类型的Java应用,包括但不限于企业级应用、Web应用、RESTful服务、轻量级应用等。
- 它支持事务管理,无论是编程式还是声明式的,都可以方便地处理事务边界。
- Spring的AOP支持使得跨切面的代码,如日志、安全性、缓存等,能够干净地与业务逻辑分离。
- Spring的MVC框架提供了强大的Web应用开发能力,支持模型-视图-控制器架构,并与其他Spring模块无缝集成。
4. **其他特性**
- **Spring Boot**:虽然不在4.0.0版本中,但值得一提的是,Spring Boot是基于Spring Framework的一个快速开发工具,它简化了Spring应用的初始搭建和配置过程。
- **Spring Security**:提供了一套全面的安全管理框架,可以实现认证、授权等功能。
- **Spring Batch**:专门用于处理批量处理任务,包括读取、处理和写入大量数据。
Spring Framework 4.0.0版本是一个重要的里程碑,它引入了许多改进和新特性,增强了性能和兼容性,使得开发者能够更高效地利用Java生态系统中的各种技术和工具。通过深入理解和使用Spring Framework,开发者可以构建出更加灵活、可扩展且易于维护的应用程序。
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页未读,继续阅读
2018-09-01 上传
2014-08-12 上传
3386 浏览量
2017-11-28 上传
2013-05-22 上传
2019-12-12 上传
2013-10-28 上传
2018-06-17 上传
2016-05-31 上传
fl_stony
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C语言快速排序算法的实现与应用
- KityFormula 编辑器压缩包功能解析
- 离线搭建Kubernetes 1.17.0集群教程与资源包分享
- Java毕业设计教学平台完整教程与源码
- 综合数据集汇总:浏览记录与市场研究分析
- STM32智能家居控制系统:创新设计与无线通讯
- 深入浅出C++20标准:四大新特性解析
- Real-ESRGAN: 开源项目提升图像超分辨率技术
- 植物大战僵尸杂交版v2.0.88:新元素新挑战
- 掌握数据分析核心模型,预测未来不是梦
- Android平台蓝牙HC-06/08模块数据交互技巧
- Python源码分享:计算100至200之间的所有素数
- 免费视频修复利器:Digital Video Repair
- Chrome浏览器新版本Adblock Plus插件发布
- GifSplitter:Linux下GIF转BMP的核心工具
- Vue.js开发教程:全面学习资源指南
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功