没有合适的资源?快使用搜索试试~ 我知道了~
首页Spring3.0框架深度解析
"Spring3.0参考文档,深入解析了Spring3.0的新特性,对理解和使用Spring框架进行Java开发提供了全面的指导。"
在Spring3.0版本中,Spring框架引入了一系列重要的新特性和改进,旨在提升开发效率、增强应用的可维护性和灵活性。以下是对这些关键知识点的详细说明:
1. **依赖注入(Dependency Injection,DI)与控制反转(Inversion of Control,IoC)**
- DI是Spring的核心特性之一,它允许开发者将对象的依赖关系外部化,而不是在代码内部硬编码。这样,对象的创建和管理可以由容器负责,降低了对象之间的耦合度。
- 控制反转是DI的一种表现形式,即原本由对象自己控制的依赖关系现在由容器来控制,对象只需关注自身的业务逻辑。
2. **核心容器(Core Container)**
- 包括`ApplicationContext`和`BeanFactory`,它们是Spring容器的基础,负责管理应用中的bean。`ApplicationContext`提供更多的企业级服务,如消息源和AOP代理。
- `@Component`、`@Service`、`@Repository`和`@Controller`等注解用于标记bean,使得Spring可以通过组件扫描自动发现和管理这些bean。
3. **数据访问/集成(Data Access/Integration)**
- Spring支持多种数据库访问技术,如JDBC、ORM(Hibernate、JPA)和OXM(Object/XML Mapping)。
- 事务管理是这一部分的重要内容,Spring提供编程式和声明式事务管理,使得事务处理更加简洁。
4. **Web层**
- Spring MVC是Spring的Web框架,提供模型-视图-控制器架构,支持RESTful服务、国际化、上传下载等功能,与Spring其他模块集成紧密。
- `@RequestMapping`、`@Controller`等注解简化了Web请求的映射和处理。
5. **面向切面编程(Aspect-Oriented Programming,AOP)和仪器化(Instrumentation)**
- AOP允许开发者定义“切面”,将关注点如日志、事务、安全等从主业务逻辑中分离出来。
- 仪器化模块则提供了类加载器和代理相关的功能,支持AOP和其他高级功能。
6. **测试(Test)**
- Spring提供测试支持,包括`@Autowired`注解在测试类中的使用,以及`@RunWith(SpringJUnit4ClassRunner.class)`等,方便编写单元测试和集成测试。
7. **依赖管理和命名规范**
- Maven和Ivy都是构建工具,Spring3.0提供了对它们的依赖管理支持,简化了项目的构建和依赖关系的管理。
- Spring框架自身的依赖和依赖于Spring的项目遵循一定的命名规则,以确保版本兼容性。
8. **日志(Logging)**
- Spring支持多种日志框架,如不使用Commons Logging,直接使用SLF4J作为日志接口,这提高了日志系统的灵活性和可替换性。
Spring3.0参考文档详尽地介绍了Spring的核心概念、模块功能以及最佳实践,是开发者深入学习和掌握Spring框架的宝贵资源。通过这些知识点,开发者能够更好地设计和实现松散耦合、易于维护的Java应用程序。
Configuration and setup ................................................................................482
Document view definitions ....................................................................482
Controller code .....................................................................................482
Subclassing for Excel views ..................................................................483
Subclassing for PDF views ....................................................................484
16.7. JasperReports ...............................................................................................485
Dependencies ...............................................................................................485
Configuration ...............................................................................................485
Configuring the ViewResolver ..............................................................485
Configuring the Views ..........................................................................486
About Report Files ...............................................................................486
Using JasperReportsMultiFormatView ...................................................486
Populating the ModelAndView ......................................................................487
Working with Sub-Reports ............................................................................488
Configuring Sub-Report Files ................................................................488
Configuring Sub-Report Data Sources ...................................................489
Configuring Exporter Parameters ...................................................................489
16.8. Feed Views ..................................................................................................490
16.9. XML Marshalling View ................................................................................491
16.10. JSON Mapping View ..................................................................................491
17. Integrating with other web frameworks .....................................................................492
17.1. Introduction .................................................................................................492
17.2. Common configuration .................................................................................493
17.3. JavaServer Faces 1.1 and 1.2 .........................................................................494
DelegatingVariableResolver (JSF 1.1/1.2) ......................................................494
SpringBeanVariableResolver (JSF 1.1/1.2) .....................................................495
SpringBeanFacesELResolver (JSF 1.2+) ........................................................495
FacesContextUtils ........................................................................................496
17.4. Apache Struts 1.x and 2.x .............................................................................496
ContextLoaderPlugin ....................................................................................497
DelegatingRequestProcessor .................................................................498
DelegatingActionProxy .........................................................................498
ActionSupport Classes ..................................................................................499
17.5. WebWork 2.x ...............................................................................................499
17.6. Tapestry 3.x and 4.x .....................................................................................500
Injecting Spring-managed beans ....................................................................501
Dependency Injecting Spring Beans into Tapestry pages .........................502
Component definition files ....................................................................503
Adding abstract accessors ......................................................................504
Dependency Injecting Spring Beans into Tapestry pages - Tapestry 4.x style
.............................................................................................................506
17.7. Further Resources .........................................................................................507
18. Portlet MVC Framework .........................................................................................509
18.1. Introduction .................................................................................................509
Controllers - The C in MVC ..........................................................................510
Spring Framework
3.0 Reference Documentation xvi
Views - The V in MVC .................................................................................510
Web-scoped beans ........................................................................................511
18.2. The DispatcherPortlet ...................................................................................511
18.3. The ViewRendererServlet .............................................................................513
18.4. Controllers ...................................................................................................514
AbstractController and PortletContentGenerator .............................................514
Other simple controllers ................................................................................516
Command Controllers ...................................................................................516
PortletWrappingController ............................................................................517
18.5. Handler mappings ........................................................................................517
PortletModeHandlerMapping ........................................................................518
ParameterHandlerMapping ............................................................................519
PortletModeParameterHandlerMapping .........................................................519
Adding HandlerInterceptors ..........................................................................520
HandlerInterceptorAdapter ............................................................................520
ParameterMappingInterceptor .......................................................................520
18.6. Views and resolving them .............................................................................521
18.7. Multipart (file upload) support ......................................................................521
Using the PortletMultipartResolver ................................................................522
Handling a file upload in a form ....................................................................522
18.8. Handling exceptions .....................................................................................525
18.9. Annotation-based controller configuration .....................................................526
Setting up the dispatcher for annotation support ..............................................526
Defining a controller with @Controller ..........................................................526
Mapping requests with @RequestMapping .....................................................527
Supported handler method arguments ............................................................528
Binding request parameters to method parameters with @RequestParam ..........530
Providing a link to data from the model with @ModelAttribute .......................531
Specifying attributes to store in a Session with @SessionAttributes .................531
Customizing WebDataBinder initialization .....................................................532
Customizing data binding with @InitBinder ...........................................532
Configuring a custom WebBindingInitializer ..........................................532
18.10. Portlet application deployment ....................................................................533
VI. Integration ......................................................................................................................534
19. Remoting and web services using Spring ..................................................................535
19.1. Introduction .................................................................................................535
19.2. Exposing services using RMI ........................................................................536
Exporting the service using the RmiServiceExporter .......................................536
Linking in the service at the client .................................................................537
19.3. Using Hessian or Burlap to remotely call services via HTTP ...........................538
Wiring up the DispatcherServlet for Hessian and co. .......................................538
Exposing your beans by using the HessianServiceExporter ..............................538
Linking in the service on the client ................................................................539
Using Burlap ................................................................................................539
Applying HTTP basic authentication to a service exposed through Hessian or
Spring Framework
3.0 Reference Documentation xvii
Burlap ..........................................................................................................540
19.4. Exposing services using HTTP invokers ........................................................540
Exposing the service object ...........................................................................540
Linking in the service at the client .................................................................541
19.5. Web services ................................................................................................542
Exposing servlet-based web services using JAX-RPC .....................................543
Accessing web services using JAX-RPC ........................................................543
Registering JAX-RPC Bean Mappings ...........................................................545
Registering your own JAX-RPC Handler .......................................................546
Exposing servlet-based web services using JAX-WS ......................................546
Exporting standalone web services using JAX-WS .........................................547
Exporting web services using the JAX-WS RI's Spring support .......................548
Accessing web services using JAX-WS ..........................................................548
Exposing web services using XFire ................................................................549
19.6. JMS .............................................................................................................550
Server-side configuration ..............................................................................551
Client-side configuration ...............................................................................552
19.7. Auto-detection is not implemented for remote interfaces .................................552
19.8. Considerations when choosing a technology ...................................................553
19.9. Accessing RESTful services on the Client ......................................................553
RestTemplate ...............................................................................................554
HTTP Message Conversion ...........................................................................556
StringHttpMessageConverter .................................................................557
FormHttpMessageConverter ..................................................................557
ByteArrayMessageConverter .................................................................557
MarshallingHttpMessageConverter ........................................................557
MappingJacksonHttpMessageConverter .................................................557
SourceHttpMessageConverter ...............................................................557
BufferedImageHttpMessageConverter ...................................................558
20. Enterprise JavaBeans (EJB) integration ....................................................................559
20.1. Introduction .................................................................................................559
20.2. Accessing EJBs ............................................................................................559
Concepts ......................................................................................................559
Accessing local SLSBs .................................................................................560
Accessing remote SLSBs ..............................................................................561
Accessing EJB 2.x SLSBs versus EJB 3 SLSBs ..............................................562
20.3. Using Spring's EJB implementation support classes ........................................562
EJB 2.x base classes .....................................................................................562
EJB 3 injection interceptor ............................................................................564
21. JMS (Java Message Service) ....................................................................................566
21.1. Introduction .................................................................................................566
21.2. Using Spring JMS ........................................................................................566
JmsTemplate ................................................................................................566
Connections .................................................................................................567
Caching Messaging Resources ...............................................................567
Spring Framework
3.0 Reference Documentation xviii
SingleConnectionFactory ......................................................................568
CachingConnectionFactory ...................................................................568
Destination Management ...............................................................................568
Message Listener Containers .........................................................................569
SimpleMessageListenerContainer ..........................................................570
DefaultMessageListenerContainer .........................................................570
ServerSessionMessageListenerContainer ................................................570
Transaction management ...............................................................................570
21.3. Sending a Message .......................................................................................571
Using Message Converters ............................................................................572
SessionCallback and ProducerCallback ..........................................................573
21.4. Receiving a message .....................................................................................573
Synchronous Reception .................................................................................573
Asynchronous Reception - Message-Driven POJOs ........................................573
The SessionAwareMessageListener interface .................................................574
The MessageListenerAdapter ........................................................................575
Processing messages within transactions ........................................................576
21.5. Support for JCA Message Endpoints ..............................................................577
21.6. JMS Namespace Support ..............................................................................579
22. JMX .......................................................................................................................584
22.1. Introduction .................................................................................................584
22.2. Exporting your beans to JMX ........................................................................584
Creating an MBeanServer .............................................................................585
Reusing an existing MBeanServer .................................................................586
Lazy-initialized MBeans ...............................................................................587
Automatic registration of MBeans .................................................................587
Controlling the registration behavior ..............................................................587
22.3. Controlling the management interface of your beans .......................................589
The MBeanInfoAssembler Interface ..............................................................589
Using Source-Level Metadata (JDK 5.0 annotations) ......................................589
Source-Level Metadata Types .......................................................................591
The AutodetectCapableMBeanInfoAssembler interface ...................................593
Defining management interfaces using Java interfaces ....................................594
Using MethodNameBasedMBeanInfoAssembler ............................................595
22.4. Controlling the ObjectNames for your beans ..................................................595
Reading ObjectNames from Properties ...........................................................596
Using the MetadataNamingStrategy ...............................................................597
The <context:mbean-export/> element ...........................................................597
22.5. JSR-160 Connectors .....................................................................................598
Server-side Connectors .................................................................................598
Client-side Connectors ..................................................................................599
JMX over Burlap/Hessian/SOAP ...................................................................599
22.6. Accessing MBeans via Proxies ......................................................................600
22.7. Notifications ................................................................................................600
Registering Listeners for Notifications ...........................................................600
Spring Framework
3.0 Reference Documentation xix
Publishing Notifications ................................................................................604
22.8. Further Resources .........................................................................................605
23. JCA CCI .................................................................................................................606
23.1. Introduction .................................................................................................606
23.2. Configuring CCI ..........................................................................................606
Connector configuration ................................................................................606
ConnectionFactory configuration in Spring ....................................................607
Configuring CCI connections ........................................................................608
Using a single CCI connection .......................................................................608
23.3. Using Spring's CCI access support .................................................................609
Record conversion ........................................................................................609
The CciTemplate ..........................................................................................610
DAO support ................................................................................................611
Automatic output record generation ...............................................................612
Summary .....................................................................................................612
Using a CCI Connection and Interaction directly ............................................613
Example for CciTemplate usage ....................................................................614
23.4. Modeling CCI access as operation objects ......................................................616
MappingRecordOperation .............................................................................616
MappingCommAreaOperation .......................................................................617
Automatic output record generation ...............................................................617
Summary .....................................................................................................617
Example for MappingRecordOperation usage .................................................618
Example for MappingCommAreaOperation usage ..........................................620
23.5. Transactions .................................................................................................621
24. Email .....................................................................................................................623
24.1. Introduction .................................................................................................623
24.2. Usage ..........................................................................................................623
Basic MailSender and SimpleMailMessage usage ...........................................624
Using the JavaMailSender and the MimeMessagePreparator ...........................625
24.3. Using the JavaMail MimeMessageHelper ......................................................626
Sending attachments and inline resources .......................................................626
Attachments .........................................................................................626
Inline resources ....................................................................................626
Creating email content using a templating library ...........................................627
A Velocity-based example ....................................................................628
25. Task Execution and Scheduling ................................................................................630
25.1. Introduction .................................................................................................630
25.2. The Spring TaskExecutor abstraction .............................................................630
TaskExecutor types .......................................................................................630
Using a TaskExecutor ...................................................................................632
25.3. The Spring TaskScheduler abstraction ...........................................................633
The Trigger interface ....................................................................................633
Trigger implementations ...............................................................................634
TaskScheduler implementations ....................................................................634
Spring Framework
3.0 Reference Documentation xx
剩余798页未读,继续阅读
2011-12-20 上传
686 浏览量
2012-11-19 上传
点击了解资源详情
2012-04-27 上传
2010-09-19 上传
2011-12-26 上传
2015-04-12 上传
点击了解资源详情
thinking_hunter
- 粉丝: 5
- 资源: 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直接复制
信息提交成功