【发布时间】:2012-12-05 22:36:09
【问题描述】:
我使用 Spring 3.x MVC @Controller 注解。我的 servlet.xml 有这个条目:
<context:component-scan base-package=”com.my.controllers.package”/>
Google 应用引擎上的我的 web 应用必须在 60 秒内初始化和启动。由于这种类路径扫描,我的需要更长的时间(link explains 在应用引擎中“减少或避免使用组件扫描”的重要性)。
我将以下行添加到我的 servlet.xml
<bean id=”myComponentBean” class=”org.foo.MyComponent”/>
现在,无论我是否添加@Controller,控制器都不会被加载。任何 url 都会导致 404。
问题:
1) 那么如何让 spring 3.x MVC 控制器在不依赖共同扫描的情况下像 web 控制器一样工作呢?
2) 当我向谷歌提交错误时,我被要求删除“组件扫描”和“使用 classLoader.getResource() 显式定义所需的类”。如何使用 classLoader.getResource() 加载 mvc 控制器?
P.S:应用引擎上的类路径扫描存在已知问题。在这里讨论这将是一个题外话。所以我跳过了细节。
【问题讨论】:
标签: google-app-engine spring-mvc classloader spring-3 spring-annotations