如何在没有组件扫描的情况下使用springmvc控制器



我使用Spring3.x MVC@Controller注释。我的servlet.xml有以下条目:

<context:component-scan base-package=”com.my.controllers.package”/>

我的网络应用程序,在谷歌的应用程序引擎上必须初始化&60秒内启动。由于这种类路径扫描,我的需要更长的时间(此链接解释了应用程序引擎中">减少或避免使用组件扫描"的重要性)。

我在servlet.xml 中添加了以下行

<bean id=”myComponentBean” class=”org.foo.MyComponent”/>

现在,无论我是否添加@Controller,控制器都不会被加载。任何url都会导致404。

问题:

1) 那么,如何使spring3.xMVC控制器在不依赖于共扫描的情况下表现为web控制器呢?

2) 当我向谷歌提交一个错误时,我被要求删除"组件扫描"&"使用classLoader.getResource()显式定义所需的类"。如何使用classLoader.getResource()加载mvc控制器?

p.S:应用程序引擎上的Classpath扫描存在已知问题。讨论这件事会离题。所以我跳过了细节。

您已经做对了。使用<bean class="..." />定义控制器,并将<mvc:annotation-driven />放入servlet配置中。就是这样!

更新:

对于一些注释(@EJB@PersistenceContext等),您可能也需要<context:annotation-config />来由spring处理。

相关内容

最新更新