Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.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
Java Spring@Autowired变量在@Component内为null_Java_Spring_Autowired - Fatal编程技术网

Java Spring@Autowired变量在@Component内为null

Java Spring@Autowired变量在@Component内为null,java,spring,autowired,Java,Spring,Autowired,这是我的组件,它包含userServiceauto-wired。问题是没有初始化,总是空的。用户服务在控制器上运行良好 应如何处理组件内部的autowire服务 package com.boro.orange.component; @组件(“modelUtil”) 公共类ModelUtil{ @自动连线 private UserService UserService;//null 静态记录器log=Logger.getLogger(ModelUtil.class.getName()); 公共模型

这是我的组件,它包含
userService
auto-wired。问题是没有初始化,总是空的。用户服务在控制器上运行良好

应如何处理组件内部的autowire服务

package com.boro.orange.component;
@组件(“modelUtil”)
公共类ModelUtil{
@自动连线
private UserService UserService;//null
静态记录器log=Logger.getLogger(ModelUtil.class.getName());
公共模型映射扭曲(模型映射模型){
Object springUserObject=SecurityContextHolder.getContext().getAuthentication().getPrincipal();
if(springUserObject==null | |!(springUserObject instanceof User)){
收益模型;
}
用户springUser=(用户)springUserObject;
字符串userEmailAddress=springUser.getUsername();
com.boro.orange.entity.User signedInUser=userService.getUserByEmailAddress(userEmailAddress);
if(signedInUser==null){
String errorMsg=“未能通过电子邮件地址[“+userEmailAddress+”]”找到用户;
log.error(errorMsg);
model.addAttribute(“错误”,errorMsg);
//TODO添加错误消息
}否则{
字符串userFirstName=SignedUser.getFirstName();
字符串userLastName=SignedUser.getLastName();
model.addAttribute(“userFirstName”,userFirstName);
model.addAttribute(“userLastName”,userLastName);
}
收益模型;
}
}
根上下文.xml


组件扫描只能使用一个定义。最后一个覆盖以前的定义

<context:component-scan base-package="com.boro.orange"/>


用户服务上是否有服务注释?你能添加限定符注释吗?@duffymo,是的,UserService可以从其他@Controller类中正常工作。看不出你在这段代码中做错了什么。你如何使用类
ModelUtil
?如果您自己用
newmodelutil()
实例化它,那么它不是一个Spring管理的bean,自动连接将不会完成。请参见:显示调用
warp
的类。