Spring 2.5:Spring MVC中的新特点[Java编程]
本文“Spring 2.5:Spring MVC中的新特点[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Spring框架从成立伊始就努力于为复杂问题供应强盛的、非侵入性的办理筹划.Spring 2.0当中为缩减XML配置文件数目引入定制命名空间功效,此后它便深深植根于核心Spring框架(aop、context、jee、jms、 lang、tx和util命名空间)、Spring Portfolio项目(比方Spring Security)和非Spring项目中(比方CXF).
Spring 2.5推出了一整套注解,作为基于XML的配置的替换筹划.注解可用于Spring管理对象的自动发现、依靠注入、生命周期办法、Web层配置和单元/集成测试.
摸索Spring 2.5中引入的注解技术系列文章由三部份构成,本文是此中的第二篇,它主要报告了Web层中的注解支持.最后一篇文章将侧重介绍可用于集成和测试的别的特点.
这个系列文章的第一部份阐述了Java注解(annotation)是若何替换XML来配置Spring管理对象和依靠注入的.我们再用一个例子回想一下:
@Controller
public class ClinicController {
private final Clinic clinic;
@Autowired
public ClinicController(Clinic clinic) {
this.clinic = clinic;
}
...
@Controller表明ClinicController是Web层组件,@Autowired恳求一个被依靠注入的Clinic实例.这个例子只需求少量的XML语句就可以使容器辨认两个注解,并限定组件的扫描范围:
<context:component-scan base-package="org.springframework.samples.petclinic"/>
这对Web层可谓是个福音,因为在这层Spring的XML配置文件已日益臃肿,乃至大概还不如层下的配置来得有效.掌握器掌握着很多属性,比方视图名称、表单对象名称和考证器范例,这些多是关乎配置的,甚少关于依靠注入的.通过bean定义担当,大概避免配置改变不是很频繁的属性,也可以有效的管理近似的配置.不过以我的经验,很多开辟人员都不会这样做,后果就是XML文件总比实际需求的要宏大.不过 @Controller和@Autowired对Web层的配置会产生主动的作用.
在系列文章的第二部份我们将持续谈论这个问题,并浏览Spring 2.5在Web层的注解技术.这些注解被非正式的称为@MVC,它触及到了Spring MVC和Spring Porlet MVC,实际上本文谈论的大部份功效都可以利用在这两个框架上.
从Controller到@Controller
与第一部份谈论的注解相比,@MVC已不只是作为配置的一种替换筹划这样简单了,考虑下面这个闻名的Spring MVC掌握器签名:
public interface Controller {
ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse
response) throws Exception;
}
全部的Spring MVC掌握器要末直接实现Controller接口,要末就得扩大近似AbstractController、 SimpleFormController、 MultiActionController或AbstractWizardFormController这样的基类实现.恰是Controller接口答应Spring MVC的DispatcherServlet把全部上述对象都看做是“处理器(handlers)”,并在一个名为 SimpleControllerHandlerAdapter的适配器的帮忙下调用它们.
@MVC从三个重要的方面改变了这个程序计划模子:
不需求任何接口大概基类.
答应有肆意数目的恳求处理办法.
在办法签名上具有高度的机动性.
考虑到以上三个要点,便可以说很公道的说@MVC不但仅是个替换筹划了,它将会是Spring MVC的掌握器技术演变历程中下一个重要步骤.
DispatcherServlet在名为AnnotationMethodHandlerAdapter的适配器帮忙下调用被注解的掌握器.恰是这个适配器做了大量工作支持我们此后将会谈论的注解,同时也是它有效的代替了关于掌握器基类的需求.
以上是“Spring 2.5:Spring MVC中的新特点[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |