Spring <context:component-scan/>与<mvc:annotation-driven/>

来源:互联网 发布:js shift splice 编辑:程序博客网 时间:2024/06/01 09:04

<mvc:annotation-driven/>开启SpringMVC注解支持,相当于注册了DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter两个bean,配置一些messageconverter。即解决了@Controller注解的使用前提配置。如果没有开启此注解则会显示404找不到页面,就是没有配置视图解析的原因。

<context:component-scan/>是对包进行扫描,实现注释驱动Bean定义,同时将bean自动注入容器中使用。即解决了@Controller标识的类的bean的注入和使用。 主要作用是将@Component,@Controller,@Service,@Repository等注解生成相应的bean,并且放置到FactoryBean中。

注意:一定要区分Spring与SpringMVC。Spring配置文件中只扫描普通的bean。像@Controller,@RequestMapping是属于SpringMVC的,需要在SpringMVC配置文件中扫描。如果不分开扫描,非常容易导致事物失败。

下面的代码只扫描Spring的bean。

 <!-- 启动组件扫描,排除@Controller组件,该组件由SpringMVC配置文件扫描 -->    <context:component-scan base-package="com.jxufe.**">        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>    </context:component-scan>

下面的代码只扫描SpringMVC部分

<!--自动扫描所有的Controller注解 所有的Controller必须放置在controller包下-->    <context:component-scan base-package="com.jxufe.**.controller"/>
1 0
原创粉丝点击