注释的Spring配置



我已经创建了一个基于教程的spring应用程序,有一些东西不是完全清楚,我希望有人能澄清。

我有2个配置文件- mvc-config.xml,这是调度程序servlet和application-config.xml,这是构成应用程序的bean。

如果我想在控制器和bean (dao和services)中使用注释,我是否需要在两个xml文件中包含以下内容,或者是否继承这些内容?

<annotation-driven />
<context:component-scan base-package="com.ws.jaxb" />
<context:annotation-config />    

当您设置Spring同时使用mvc-config.xmlapplication-config.xml时,将创建两个应用程序上下文。根上下文(对应application-config.xml)和web上下文(对应mvc-config.xml)

在你的例子中,你需要做的是像下面这样的事情来让一切都像预期的那样工作:

mvc-config.xml

<mvc:annotation-driven /> <!-- for standard Spring MVC features -->
<context:component-scan base-package="com.ws.jaxb" use-default-filters="false">
    <context:include-filter expression="org.springframework.stereotype.Controller" type="annotation"/>
</context:component-scan>

application-config.xml

<context:component-scan base-package="com.ws.jaxb">
   <context:exclude-filter expression="org.springframework.stereotype.Controller" type="annotation"/>
</context:component-scan>
上面提到的代码的效果是只将控制器添加到web上下文中,而所有其他Spring bean都添加到根上下文中。还请注意,不需要<context:annotation-config/>,因为<context:component-scan>提供了
功能的超集

相关内容

  • 没有找到相关文章

最新更新