在Spring的核心配置文件中,对注解扫描需要配置以下内容
<!-- 注解驱动 -->
<mvc:annotation-driven/>
<!-- 扫描器 (ps:如果有了扫描器,可以不加注解驱动) -->
<!-- base-package属性是指明Controller在哪个包中 -->
<context:component-scan base-package="controller"></context:component-scan>
那么为什么配置了扫描器就不需要配置注解驱动了呢?
1><mvc:annotation-driven/>会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean
DefaultAnnotationHandlerMapping :负责扫描带有@Controller注解的类,给此类设置对应的@RequestMapping
AnnotationMethodHandlerAdapter :负责扫描Controller类中的方法,给方法设置对应的@RequestMapping
2><context:component-scan base-package=""></context:component-scan>
扫描器会扫描带有@Component@Service@Controller@Component等注解,并实现相应的操作,
因为这四个注解包含了@Controller,
所以会将Controller类和方法进行映射,不需要用<mvc:annotation-driven/>了