gpt4 book ai didi

java - 我的 Controller bean (Spring-MVC) 中未处理 Autowiring bean

转载 作者:行者123 更新时间:2023-11-30 05:10:18 24 4
gpt4 key购买 nike

我创建一个 Controller bean 来映射专用 URI。

web.xml 文件:

    <!-- Spring MVC Servlet (that will route HTTP requests to BlazeDS) -->
<servlet>
<servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-main-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<!-- We are only using BlazeDS AMF channels to communicate with FlexClient, so let's map URLs accordingly. -->
<servlet-mapping>
<servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
<url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>

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

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

spring-main-config.xml 文件:

 <!-- Import configuration base -->
<import resource="spring-base-config.xml"/>

<!-- Flex integration within Spring. -->
<flex:message-broker services-config-path="/WEB-INF/flex-services-config.xml">
<flex:remoting-service />
</flex:message-broker>

<!-- Session-scoped bean for User Info -->
<bean class="com.sharehunter.businessservices.common.UserSessionInfo" scope="session">
<aop:scoped-proxy proxy-target-class="false"/>
</bean>

spring-filter-config.xml 文件:

    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<value>
/fbauth=myController
</value>
</property>
</bean>

<bean id="myController"
class="myapp.controller.myController" />

我的bean Controller 文件:

package myapp.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public class MyController extends AbstractController{

@Autowired
UserSesson userSession;

@Autowired
BusinessLogger logger;

@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {

// TO DO - Facebook authentication
return null;
}
}

我的问题:我的 Controller bean 中的所有 Autowired bean 已经等于 null。我不明白我的配置问题出在哪里......

非常感谢您的帮助!

安东尼

最佳答案

您定义了两个不同的 contextx( spring-filter-config.xmlspring-main-config.xml ),但您可能应该只有一个。 <context:annotation-driven/>仅在 spring-main-config.xml 中定义,而不是 spring-filter-config.xml ,因此 spring-filter-config.xml 中定义的任何 bean不会 Autowiring 。

您已在spring-filter-config.xml中定义了 Controller ,但 Controller 应该与 ServiceDispatcherServlet 关联。 。您需要移动 spring-filter-config.xml 的内容进入spring-main-config.xml ,然后删除 ContextLoaderListener - 你似乎没有正确使用它。

关于java - 我的 Controller bean (Spring-MVC) 中未处理 Autowiring bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3651225/

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