Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring MVC在组件中自动连接空_Spring_Spring Mvc_Autowired - Fatal编程技术网

Spring MVC在组件中自动连接空

Spring MVC在组件中自动连接空,spring,spring-mvc,autowired,Spring,Spring Mvc,Autowired,我的组成部分是: package com.netpc.recruitment.models.user; @Component public class UserAuth { @Autowired private HttpSession httpSession; @Autowired private IUserDAO userDAO; } 在控制器中创建对象时,VarshttpSession和userDAO为nulluserDAO配置正确,在mycom.netp

我的组成部分是:

package com.netpc.recruitment.models.user;
@Component
public class UserAuth {
    @Autowired
    private HttpSession httpSession;

    @Autowired
    private IUserDAO userDAO;
}
在控制器中创建对象时,Vars
httpSession
userDAO
null
userDAO
配置正确,在my
com.netpc.Recruption.controllers.IndexController
@Controller
中运行良好

My web.xml

<beans ......>
    <context:component-scan base-package="com.netpc.recruitment.controllers" />
    <bean id="userDAO" class="com.netpc.recruitment.models.user.JDBCUserDAO">
        <property name="dataSource" ref="dataSource" />
    </bean>
</beans>


怎么了?为什么
null

您的组件扫描仅在“com.netpc.recruption.controllers”上扫描。还应扫描包com.netpc.recruption.models.user中的内容。web.xml中的更改:

  <context:component-scan base-package="com.netpc.recruitment.controllers" />

为此:

  <context:component-scan base-package="com.netpc.recruitment.controllers, com.netpc.recruitment.models.user" />


希望这对你有用

在控制器中创建对象时,是否扫描了
UserAuth
所在包中的组件。当然,如果它们为空,您将自己创建新实例,而不是让Spring容器来创建。另外,注入
HttpSession
对我来说似乎有点不正常。试图使
-否luck@M.Deinum理解。我是春天的新手。你能建议如何使
UserAuth
(登录/注销用户)正常工作吗?首先,我是单身汉。它看起来不错,但不是针对Spring的DI;不是IUserDAO userDAO,只是为了测试,HttpSession定义在哪里?不起作用。HttpSession是javax.servlet.http.HttpSession,名称没有区别。您不能在自己喜欢的时候插入HttpSession,我想..:)。无论如何,您必须将第二个包添加到组件扫描中,否则它将永远无法工作。您的类中是否包含正确的组件包?(注释?)。。这个:import org.springframework.stereotype.Component;可以在dispatcher-servlet.xml上进行更改