没有合适的资源?快使用搜索试试~ 我知道了~
首页Spring框架详览:3.2.4.RELEASE官方文档解析
Spring框架详览:3.2.4.RELEASE官方文档解析
4星 · 超过85%的资源 需积分: 10 4 下载量 67 浏览量
更新于2024-07-24
收藏 4.55MB PDF 举报
Spring框架详解
Spring Framework 是一个强大的、开源的Java应用程序框架,由Rod Johnson等人于2004年创建,至今已发展至3.2.4.RELEASE版本。该框架的核心理念是依赖注入(Dependency Injection,DI)和控制反转(Inversion of Control,IoC),这两种设计模式使得软件组件的管理更加灵活和可测试。
Spring的核心容器(Core Container)是其架构的基础,它负责管理对象的生命周期、配置和依赖关系。通过配置文件或注解,开发者可以声明式地声明和管理应用中的对象关系,减少了代码中的紧耦合,提高了代码的可维护性和可扩展性。
Spring框架在数据访问和集成(Data Access/Integration)方面提供了一套全面的解决方案,包括支持多种数据库连接池、ORM工具(如JPA和Hibernate)、以及与各种消息队列系统的集成,有助于简化数据库操作和异步通信。
Web模块是Spring的重要组成部分,它提供了Spring MVC(Model-View-Controller)框架,用于构建现代web应用。此外,Spring Boot的出现进一步简化了web应用的开发,减少了对配置文件的依赖。
面向切面编程(AOP)和动态代理是Spring的另一个亮点,它允许开发者将跨切面的关注点(如日志、事务管理)抽取出来,实现代码的解耦和复用。Spring的AspectJ集成提供了强大的AOP功能。
测试是Spring框架关注的另一个重要领域,它提供了Spring Test框架,支持单元测试、集成测试和基于XML或注解的测试驱动开发(TDD)。这极大地促进了代码质量的提高和测试驱动开发的实践。
Spring框架还强调依赖管理和命名约定,帮助开发者保持代码的一致性和可理解性。通过合理的设计和配置,Spring使得项目结构清晰,降低了维护成本。
Spring Framework 3.2.4.RELEASE是一个全面且成熟的Java开发框架,涵盖了依赖注入、容器管理、数据访问、web开发、AOP、测试等多个层面,适合各种规模的企业级应用开发。通过遵循其设计哲学和规范,开发者能够更高效地构建健壮、灵活且易于维护的软件系统。
Spring Framework
3.2.4.RELEASE
Spring Framework
Reference Documentation xvi
'Plain-old' JSPs versus JSTL ........................................................................... 511
Additional tags facilitating development ............................................................ 511
Using Spring's form tag library ........................................................................ 511
Configuration .......................................................................................... 511
The form tag ......................................................................................... 511
The input tag ....................................................................................... 513
The checkbox tag ................................................................................. 513
The checkboxes tag ............................................................................. 516
The radiobutton tag ........................................................................... 516
The radiobuttons tag ......................................................................... 517
The password tag ................................................................................. 517
The select tag ..................................................................................... 517
The option tag ..................................................................................... 518
The options tag ................................................................................... 518
The textarea tag ................................................................................. 519
The hidden tag ..................................................................................... 519
The errors tag ..................................................................................... 519
HTTP Method Conversion ....................................................................... 522
HTML5 Tags .......................................................................................... 523
18.3. Tiles .............................................................................................................. 523
Dependencies ................................................................................................ 523
How to integrate Tiles ..................................................................................... 523
UrlBasedViewResolver .................................................................... 524
ResourceBundleViewResolver ........................................................ 524
SimpleSpringPreparerFactory and
SpringBeanPreparerFactory ............................................................ 524
18.4. Velocity & FreeMarker .................................................................................... 525
Dependencies ................................................................................................ 525
Context configuration ...................................................................................... 525
Creating templates ......................................................................................... 526
Advanced configuration ................................................................................... 527
velocity.properties ................................................................................... 527
FreeMarker ............................................................................................. 527
Bind support and form handling ....................................................................... 528
The bind macros .................................................................................... 528
Simple binding ........................................................................................ 528
Form input generation macros ................................................................. 529
HTML escaping and XHTML compliance ................................................. 533
18.5. XSLT ............................................................................................................. 534
My First Words ............................................................................................... 534
Bean definitions ...................................................................................... 534
Standard MVC controller code ................................................................. 534
Convert the model data to XML ............................................................... 535
Defining the view properties .................................................................... 535
Document transformation ........................................................................ 536
Summary ....................................................................................................... 536
18.6. Document views (PDF/Excel) .......................................................................... 537
Introduction .................................................................................................... 537
Configuration and setup .................................................................................. 537
Document view definitions ....................................................................... 537
Spring Framework
3.2.4.RELEASE
Spring Framework
Reference Documentation xvii
Controller code ....................................................................................... 537
Subclassing for Excel views .................................................................... 537
Subclassing for PDF views ..................................................................... 539
18.7. JasperReports ............................................................................................... 540
Dependencies ................................................................................................ 540
Configuration .................................................................................................. 540
Configuring the ViewResolver .............................................................. 540
Configuring the Views ............................................................................ 540
About Report Files .................................................................................. 541
Using JasperReportsMultiFormatView ............................................. 541
Populating the ModelAndView ....................................................................... 542
Working with Sub-Reports ............................................................................... 543
Configuring Sub-Report Files .................................................................. 543
Configuring Sub-Report Data Sources ..................................................... 544
Configuring Exporter Parameters ..................................................................... 544
18.8. Feed Views ................................................................................................... 544
18.9. XML Marshalling View .................................................................................... 545
18.10. JSON Mapping View .................................................................................... 546
19. Integrating with other web frameworks ....................................................................... 547
19.1. Introduction .................................................................................................... 547
19.2. Common configuration ................................................................................... 548
19.3. JavaServer Faces 1.1 and 1.2 ........................................................................ 549
DelegatingVariableResolver (JSF 1.1/1.2) ........................................................ 549
SpringBeanVariableResolver (JSF 1.1/1.2) ....................................................... 550
SpringBeanFacesELResolver (JSF 1.2+) ......................................................... 550
FacesContextUtils ........................................................................................... 550
19.4. Apache Struts 1.x and 2.x .............................................................................. 551
ContextLoaderPlugin ....................................................................................... 551
DelegatingRequestProcessor ................................................................... 552
DelegatingActionProxy ............................................................................ 552
ActionSupport Classes .................................................................................... 553
19.5. WebWork 2.x ................................................................................................. 553
19.6. Tapestry 3.x and 4.x ...................................................................................... 554
Injecting Spring-managed beans ..................................................................... 555
Dependency Injecting Spring Beans into Tapestry pages ........................... 557
Component definition files ....................................................................... 558
Adding abstract accessors ...................................................................... 559
Dependency Injecting Spring Beans into Tapestry pages - Tapestry 4.x
style ....................................................................................................... 561
19.7. Further Resources ......................................................................................... 562
20. Portlet MVC Framework ............................................................................................ 563
20.1. Introduction .................................................................................................... 563
Controllers - The C in MVC ............................................................................ 564
Views - The V in MVC .................................................................................... 564
Web-scoped beans ......................................................................................... 564
20.2. The DispatcherPortlet ............................................................................ 564
20.3. The ViewRendererServlet ........................................................................ 566
20.4. Controllers ..................................................................................................... 567
AbstractController and PortletContentGenerator ............................. 568
Other simple controllers .................................................................................. 569
Spring Framework
3.2.4.RELEASE
Spring Framework
Reference Documentation xviii
Command Controllers ..................................................................................... 569
PortletWrappingController .................................................................... 570
20.5. Handler mappings .......................................................................................... 570
PortletModeHandlerMapping .................................................................... 571
ParameterHandlerMapping ........................................................................ 571
PortletModeParameterHandlerMapping .................................................. 572
Adding HandlerInterceptors ..................................................................... 572
HandlerInterceptorAdapter .................................................................... 573
ParameterMappingInterceptor ................................................................ 573
20.6. Views and resolving them .............................................................................. 573
20.7. Multipart (file upload) support ......................................................................... 574
Using the PortletMultipartResolver ....................................................... 574
Handling a file upload in a form ...................................................................... 575
20.8. Handling exceptions ....................................................................................... 578
20.9. Annotation-based controller configuration ........................................................ 578
Setting up the dispatcher for annotation support ............................................... 578
Defining a controller with @Controller .......................................................... 579
Mapping requests with @RequestMapping ..................................................... 580
Supported handler method arguments ............................................................. 581
Binding request parameters to method parameters with @RequestParam .......... 583
Providing a link to data from the model with @ModelAttribute ....................... 583
Specifying attributes to store in a Session with @SessionAttributes ............. 584
Customizing WebDataBinder initialization ...................................................... 584
Customizing data binding with @InitBinder .......................................... 584
Configuring a custom WebBindingInitializer ................................... 585
20.10. Portlet application deployment ...................................................................... 585
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
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-RPC ....................................... 594
Accessing web services using JAX-RPC .......................................................... 595
Registering JAX-RPC Bean Mappings ............................................................. 597
Registering your own JAX-RPC Handler .......................................................... 597
Exposing servlet-based web services using JAX-WS ........................................ 598
Exporting standalone web services using JAX-WS ........................................... 599
Exporting web services using the JAX-WS RI's Spring support .......................... 600
Spring Framework
3.2.4.RELEASE
Spring Framework
Reference Documentation xix
Accessing web services using JAX-WS ........................................................... 600
21.6. JMS .............................................................................................................. 601
Server-side configuration ................................................................................. 602
Client-side configuration .................................................................................. 603
21.7. Auto-detection is not implemented for remote interfaces ................................... 604
21.8. Considerations when choosing a technology .................................................... 604
21.9. Accessing RESTful services on the Client ....................................................... 605
RestTemplate ................................................................................................. 605
Working with the URI .............................................................................. 607
Dealing with request and response headers ............................................. 608
HTTP Message Conversion ............................................................................ 608
StringHttpMessageConverter ................................................................... 609
FormHttpMessageConverter .................................................................... 609
ByteArrayHttpMessageConverter ............................................................. 609
MarshallingHttpMessageConverter ........................................................... 609
MappingJackson2HttpMessageConverter (or
MappingJacksonHttpMessageConverter with Jackson 1.x) ........................ 610
SourceHttpMessageConverter ................................................................. 610
BufferedImageHttpMessageConverter ...................................................... 610
22. Enterprise JavaBeans (EJB) integration ..................................................................... 611
22.1. Introduction .................................................................................................... 611
22.2. Accessing EJBs ............................................................................................. 611
Concepts ........................................................................................................ 611
Accessing local SLSBs ................................................................................... 611
Accessing remote SLSBs ................................................................................ 613
Accessing EJB 2.x SLSBs versus EJB 3 SLSBs ............................................... 613
22.3. Using Spring's EJB implementation support classes ......................................... 614
EJB 2.x base classes ..................................................................................... 614
EJB 3 injection interceptor .............................................................................. 616
23. JMS (Java Message Service) .................................................................................... 618
23.1. Introduction .................................................................................................... 618
23.2. Using Spring JMS .......................................................................................... 618
JmsTemplate ................................................................................................ 618
Connections ................................................................................................... 619
Caching Messaging Resources ............................................................... 619
SingleConnectionFactory ......................................................................... 619
CachingConnectionFactory ...................................................................... 620
Destination Management ................................................................................. 620
Message Listener Containers .......................................................................... 621
SimpleMessageListenerContainer ............................................................ 621
DefaultMessageListenerContainer ............................................................ 621
Transaction management ................................................................................ 621
23.3. Sending a Message ....................................................................................... 622
Using Message Converters ............................................................................. 623
SessionCallback and ProducerCallback ................................................ 624
23.4. Receiving a message ..................................................................................... 624
Synchronous Reception .................................................................................. 624
Asynchronous Reception - Message-Driven POJOs .......................................... 624
The SessionAwareMessageListener interface ........................................... 625
The MessageListenerAdapter ................................................................... 626
Spring Framework
3.2.4.RELEASE
Spring Framework
Reference Documentation xx
Processing messages within transactions ........................................................ 627
23.5. Support for JCA Message Endpoints ............................................................... 628
23.6. JMS Namespace Support ............................................................................... 630
24. JMX ......................................................................................................................... 634
24.1. Introduction .................................................................................................... 634
24.2. Exporting your beans to JMX .......................................................................... 634
Creating an MBeanServer ............................................................................. 636
Reusing an existing MBeanServer ................................................................. 636
Lazy-initialized MBeans ................................................................................... 637
Automatic registration of MBeans .................................................................... 637
Controlling the registration behavior ................................................................. 638
24.3. Controlling the management interface of your beans ........................................ 639
The MBeanInfoAssembler Interface ............................................................. 639
Using Source-Level Metadata (JDK 5.0 annotations) ........................................ 639
Source-Level Metadata Types ......................................................................... 641
The AutodetectCapableMBeanInfoAssembler interface ............................ 643
Defining management interfaces using Java interfaces ..................................... 643
Using MethodNameBasedMBeanInfoAssembler ........................................... 645
24.4. Controlling the ObjectNames for your beans .................................................. 645
Reading ObjectNames from Properties ...................................................... 645
Using the MetadataNamingStrategy ........................................................... 646
Configuring annotation based MBean export .................................................... 647
24.5. JSR-160 Connectors ...................................................................................... 648
Server-side Connectors ................................................................................... 648
Client-side Connectors .................................................................................... 649
JMX over Burlap/Hessian/SOAP ...................................................................... 649
24.6. Accessing MBeans via Proxies ....................................................................... 649
24.7. Notifications ................................................................................................... 650
Registering Listeners for Notifications .............................................................. 650
Publishing Notifications ................................................................................... 654
24.8. Further Resources ......................................................................................... 656
25. JCA CCI .................................................................................................................. 657
25.1. Introduction .................................................................................................... 657
25.2. Configuring CCI ............................................................................................. 657
Connector configuration .................................................................................. 657
ConnectionFactory configuration in Spring ................................................. 658
Configuring CCI connections ........................................................................... 658
Using a single CCI connection ........................................................................ 659
25.3. Using Spring's CCI access support ................................................................. 660
Record conversion .......................................................................................... 660
The CciTemplate ......................................................................................... 661
DAO support .................................................................................................. 662
Automatic output record generation ................................................................. 662
Summary ....................................................................................................... 663
Using a CCI Connection and Interaction directly ...................................... 664
Example for CciTemplate usage ................................................................... 665
25.4. Modeling CCI access as operation objects ...................................................... 667
MappingRecordOperation .......................................................................... 667
MappingCommAreaOperation ...................................................................... 667
Automatic output record generation ................................................................. 668
剩余846页未读,继续阅读
2022-07-29 上传
2018-03-19 上传
2023-10-08 上传
2023-06-09 上传
2023-06-03 上传
2023-06-07 上传
2023-04-09 上传
2023-06-03 上传
2023-07-27 上传
buzyyu
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 天池大数据比赛:伪造人脸图像检测技术
- ADS1118数据手册中英文版合集
- Laravel 4/5包增强Eloquent模型本地化功能
- UCOSII 2.91版成功移植至STM8L平台
- 蓝色细线风格的PPT鱼骨图设计
- 基于Python的抖音舆情数据可视化分析系统
- C语言双人版游戏设计:别踩白块儿
- 创新色彩搭配的PPT鱼骨图设计展示
- SPICE公共代码库:综合资源管理
- 大气蓝灰配色PPT鱼骨图设计技巧
- 绿色风格四原因分析PPT鱼骨图设计
- 恺撒密码:古老而经典的替换加密技术解析
- C语言超市管理系统课程设计详细解析
- 深入分析:黑色因素的PPT鱼骨图应用
- 创新彩色圆点PPT鱼骨图制作与分析
- C语言课程设计:吃逗游戏源码分享
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功