首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >注解Spring MVC < MVC :注解驱动/>

注解Spring MVC < MVC :注解驱动/>
EN

Stack Overflow用户
提问于 2017-06-19 19:22:24
回答 2查看 11.1K关注 0票数 4

我是Spring MVC的新手,我有一个问题要问你。

我知道标记<mvc:annotation-driven />在servlet配置中处理@Controller、@RequestMapping等注释,但我使用的是portlets,我很好奇这个注释在这里是如何工作的?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-22 18:50:19

mvc:annotation-driven用于启用Spring MVC组件的默认配置。

如果不包含mvc:annotation-driven,则在使用context:component-scan创建beans或在XML文件中定义beans的情况下,MVC应用程序也可以工作

。但是,mvc:annotation-driven在配置特殊bean方面做了一些额外的工作,如果您没有在XML文件中使用此元素,则不会配置这些bean。

此标记将注册将请求分派到@控制器所需的HandlerMapping和HandlerAdapter。此外,它还根据类路径中存在的内容应用一些默认值。此类缺省值为:

如果Joda Time在用于验证@ PropertyEditors

  • Support输入的classpath

  • Support上,如果JSR-303提供程序在用于读取和写入ConversionService的classpath

  • Support上,如果JSR-303提供程序在用于读取和写入JavaBeans的classpath

  • Support上,如果classpath在

上,如果Joda Time在用于验证@PropertyEditors

  • Support输入的classpath

  • Support上,如果JSR-303提供程序在用于读写XML的classpath

  • Support上,如果JAXB在用于读写JSON的classpath

  • Support上,如果Jackson在类路径

上,则使用Spring3Typejsr作为JavaBeans JSON的更简单和健壮的替代方案来格式化数字字段

spring配置文件中的context:component-scan元素将不再需要声明XML文件中的所有bean。查看spring配置文件中的以下声明:

代码语言:javascript
复制
<context:component-scan base-package="org.controller"/>

spring应用程序配置文件中的上述声明将扫描指定包中的类,并创建bean实例。请注意,只有当该类使用正确的注释进行注释时,它才能创建bean。以下是该元素扫描的注释:

  • @Component
  • @Repository
  • @Service
  • @Controller
票数 2
EN

Stack Overflow用户

发布于 2017-06-22 18:16:45

它的工作原理是一样的。

如果你使用java配置,你将使用:

代码语言:javascript
复制
...
@Configuration
@EnableWebMvc <- (equivalent to <mvc:annotation-driven />)
@ComponentScan(basePackageClasses = { MyConfiguration.class })
...

或者,如果您使用xml配置,您将使用:

代码语言:javascript
复制
...
<mvc:annotation-driven />
<context:component-scan base-package="package.*" />
...
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44629254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档