我使用Spring 3.x MVC @Controller注释。我的servlet.xml有这个条目:
<context:component-scan base-package=”com.my.controllers.package”/>
我的网络应用程序,在谷歌的应用程序引擎上必须初始化&amp;在60secs内启动。由于此类路径扫描,我的花费时间更长(link explains在应用引擎中“减少或避免使用组件扫描”的重要性。
我将以下行添加到我的servlet.xml
<bean id=”myComponentBean” class=”org.foo.MyComponent”/>
现在,无论是否添加@Controller,控制器都不会被加载。任何网址都会产生404.
问题:
1)那么如何在不依赖于组件扫描的情况下使spring 3.x MVC控制器表现为Web控制器?
2)当我向谷歌提交了一个错误时,我被要求删除“组件扫描”&amp; “使用classLoader.getResource()显式定义所需的类”。如何使用classLoader.getResource()加载mvc控制器?
P.S:应用引擎上的类路径扫描存在已知问题。讨论这将是一个题外话。所以我跳过了细节。
答案 0 :(得分:0)
<bean class="..." />
定义控制器并将<mvc:annotation-driven />
放入servlet配置中。就是这样!
<强>更新强>
并且您可能需要<context:annotation-config />
以及某些注释(@EJB
,@PersistenceContext
等)以便由春季处理。