1. 程式人生 > >[Spring]為什麼配置了掃描器就不需要配置註解驅動了

[Spring]為什麼配置了掃描器就不需要配置註解驅動了

在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/>了