Spring 4.1对Spring MVC部分做的增强是最多的,提供了一些视图解析器的mvc标签实现简化配置、提供了GroovyWebApplicationContext用于Groovy web集成、提供了Gson、protobuf的HttpMessageConverter、提供了对groovy-templates模板的支持、JSONP的支持、对Jackson的@JsonView的支持等。
1、GroovyWebApplicationContext
在Spring 4.1之前没有提供Web集成的ApplicationContext,在《Spring4新特性——Groovy Bean定义DSL》中我们自己去实现的com.sishuok.spring4.context.support.WebGenricGroovyApplicationContext,而4.1其已经提供了相应实现,直接把《Spring4新特性——Groovy Bean定义DSL》配置中的相应类改掉即可。
2、视图解析器标签
之前我们都是这样定义视图解析器:
Java代码 收藏代码
而现在我们可以使用MVC标签定义:
Java代码 收藏代码
再来看一个更复杂的例子:
Java代码 收藏代码
jsonp
callback
mvc:content-negotiation用于定义内容协商的视图解析器,且内部可以定义默认视图;然后我们又定义了mvc:velocity和mvc:groovy两个视图解析器;它们会按照顺序进行解析。另外几个视图解析器是:
mvc:freemarker
mvc:bean-name
mvc:jsp
这种方式有一个很大的问题就是只能做默认配置,如果想自定义其属性值就搞不定了,估计当时开发的人考虑不全或没有经验。
3、控制器标签
Spring 4.1提供了更丰富的控制器标签:
3.1、重定向视图控制器标签
Java代码 收藏代码