Spring MVC中<mvc:annotation-driven />和<context:annotation-config />的区别分析
个人最简单的使用理解:
<mvc:annotation-driven />是管理静态资源的,比如静态页面,返回JSON这些。
<context:annotation-config />是管理注解的,比如@Controller这些。
深入的解释:
官方文档:
https://spring.io/blog/2009/12/21/mvc-simplifications-in-spring-3-0/
https://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/mvc.html#mvc-config
<mvc:annotation-driven />是在Spring 3.0中添加的标签,它执行以下操作:
- 配置Spring 3 Type ConversionService(PropertyEditors的替代方法)
- 添加对@NumberFormat格式化数字字段的支持
- 添加对@DateTimeFormat格式化日期,日历和Joda时间字段的支持,如果Joda Time在类路径上
- 如果JSR-303提供程序在类路径上,则添加对@Valid验证@Controller输入的支持
- 添加支持读写XML,如果JAXB在类路径(使用@RequestBody/@ResponseBody的HTTP消息转换)
- 添加对阅读和编写JSON的支持,如果Jackson位于类路径(与#5相同的行)
<context:annotation-config />在同一应用程序上下文中查找bean上的注释,并声明对@Autowired,@Resource,@Required,@PostConstruct等所有常规注释的支持。
题外说法(只测试了4.1.6的通过,其余版本没试过):
如果用了<context:component-scan />,其实<context:annotation-config />就可以不用了,默认前者已经提供了包的扫描功能和注解支持。
参考:
https://spring.io/blog/2009/12/21/mvc-simplifications-in-spring-3-0/
https://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/mvc.html#mvc-config
https://scotch.io/@ethanmillar/spring-mvc-component-scan-annotation-config-annotation-driven
http://blog.csdn.net/blue_it/article/details/12612533
Spring MVC中<mvc:annotation-driven />和<context:annotation-config />的区别分析的更多相关文章
- Spring框架中<mvc:default-servlet-handler/>的作用
优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往 ...
- MVC中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别
Html.RenderPartial与Html.RenderAction这两个方法都是用来在界面上嵌入用户控件的. 1. Html.RenderPartial是直接将用户控件嵌入到界面上: <% ...
- 转载.Net MVC中Html.RenderPartial和Html.RenderAction 的应用与区别
Html.Partial方法:是将视图内容直接生成一个字符串并返回, Html.RenderPartial方法是直接输出至当前HttpContext, 而Html.RenderAction还调用一下A ...
- 在spring配置文件中引入外部properties配置文件 context:property-placeholder
在spring的配置文件中,有时我们需要注入很多属性值,这些属性全都写在spring的配置文件中的话,后期管理起来会非常麻烦.所以我们可以把某一类的属性抽取到一个外部配置文件中,使用时通用spring ...
- ASP.NET MVC中viewData、viewBag和templateData的使用与区别
一:类型比较 1.1)ViewBag是动态类型(dynamic). 1.2)ViewData是一个字典型的(Dictionary)-->ViewDataDictionary. 1.3)TempD ...
- 转载ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别
对这四个的区别做一个总结,清理一下思路,方便以后使用: 1.带有Render的方法返回值是void,在方法内部进行输出:不带的返回值类型为MvcHtmlString,所以只能这样使用: @Ht ...
- asp.net MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别
@Html.Action:需要有对应的Action,并且Action方法有返回值.(注:处理完业务逻辑同时,也需要返回所需值) @{Html.RenderAction}:需要有对应的Action,Ac ...
- Spring MVC 中的基于注解的 Controller【转】
原文地址:http://my.oschina.net/abian/blog/128028 终于来到了基于注解的 Spring MVC 了.之前我们所讲到的 handler,需要根据 url 并通过 H ...
- Spring MVC中基于注解的 Controller
终于来到了基于注解的 Spring MVC 了.之前我们所讲到的 handler,需要根据 url 并通过 HandlerMapping 来映射出相应的 handler 并调用相应的方法以响 ...
随机推荐
- THE DRUNK JAILER
http://poj.org/problem?id=1218 题意:门的状态有两种开或关,初始化为开,每次进行状态转换,第一次把门号是1的倍数的门状态转换,第二次把门号是2的倍数的门状态转换,.... ...
- npm 与 package.json 快速入门教程
npm 与 package.json 快速入门教程 2017年08月02日 19:16:20 阅读数:33887 npm 是前端开发广泛使用的包管理工具,之前使用 Weex 时看了阮一峰前辈的文章了解 ...
- brew update失败提示:/System/Library/Frameworks/Ruby.framework/的解决方法
本文由@ray 出品,转载请注明出处. 文章链接:http://www.cnblogs.com/wolfray/p/8040701.html 想用brew安装wget,但是提示失败,然后想先 bre ...
- mysql中的各种concat
引用:http://www.cnblogs.com/appleat/archive/2012/09/03/2669033.html 一.CONCAT()函数CONCAT()函数用于将多个字符串连接成一 ...
- 整合springboot,angular2,可以前后台交互数据
改造了一下angular2官方文档中的hero项目,让其可以进行后台的交互, https://github.com/DACHUYIN 源码在上面...博客就不写了....
- SQL基本操作——存储过程
存储过程类似于C#中的方法. --创建存储过程 create proc usp_TwoNumberAdd @num1 int, @num2 int as begin select @num1+@num ...
- 4th 循环结构概述和for语句的格式及其使用
04.01_Java语言基础(循环结构概述和for语句的格式及其使用) A:循环结构的分类 for,while,do...while B:循环结构for语句的格式: for(初始化表达式;条件表达式; ...
- servlet-请求重定向
package servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.ser ...
- Python基础——列表、元组操作
列表.元组操作 列表: 列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0 ...
- 我所理解的Android和iOS上的View
View,几乎是所有界面系统中的基类,在iOS里面是UIView,在Android里是View. 那么,到底View是什么东西,他做了些什么,他是怎么做到的,在这篇文章中,希望能带给大家一些启发. 抽 ...