gpt4 book ai didi

java - spring 调度程序没有加载我的组件

转载 作者:行者123 更新时间:2023-12-02 05:07:29 24 4
gpt4 key购买 nike

我有以下 Controller :

package com.t.controller;

@Controller
@RequestMapping(value="/s")
public class SController {

@RequestMapping(value="/la", method=RequestMethod.GET)
public String listAll() {

return "s/la";
}

}

我有一个名为dispatcher-config.xml的调度程序配置文件

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">

<context:component-scan base-package="com.t.controller" />

</beans>

还有 web.xml

<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Archetype Created Web Application</display-name>

<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/dispatcher-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dispatcher-config.xml</param-value>
</context-param>

<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>

</web-app>

此配置没有实例化我的 SController。这是Spring日志:

Looking for matching resources in directory tree [.../WEB-INF/classes/com/t/controller]
Searching directory [.../WEB-INF/classes/com/t/controller] for files matching pattern [.../WEB-INF/classes/com/t/controller/**/*.class]
Resolved location pattern [classpath*:com/t/controller/**/*.class] to resources []

看起来应该可以。您知道为什么此配置不起作用吗?

我什至尝试使用WebApplicationInitializer,但得到了相同的结果。

最佳答案

其一,您的 web.xml 是多余的。删除ContextLoaderListener以及相应的context-param .

然后添加

<mvc:annotation-driven /> 

以及您的调度程序配置的适当命名空间。这实际上会将您的 bean 注册为处理程序。

您似乎还缺少 <servlet-mapping>来自您的 web.xml。

关于java - spring 调度程序没有加载我的组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27651193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com