Java Spring session bean和RESTEasy+;Jackson nullPointerException
我正在构建一个基于spring的WebApp,包括一个RESTful方法调用。 我使用RESTeasy和jackson返回当前登录用户的用户名 (此信息存储在名为“UserBean”的会话bean中) 用户bean:Java Spring session bean和RESTEasy+;Jackson nullPointerException,java,spring,nullpointerexception,jackson,resteasy,Java,Spring,Nullpointerexception,Jackson,Resteasy,我正在构建一个基于spring的WebApp,包括一个RESTful方法调用。 我使用RESTeasy和jackson返回当前登录用户的用户名 (此信息存储在名为“UserBean”的会话bean中) 用户bean: @Component("userBean") @Scope("session") public class UserBean implements Serializable { @Autowired private InitApp app; privat
@Component("userBean")
@Scope("session")
public class UserBean implements Serializable {
@Autowired
private InitApp app;
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
OverviewBean是包含rest方法(包括jackson到json的转换)的bean:
@组件(“概览bean”)
@范围(“视图”)
@路径(“/repairs”)
公共类概述bean{
@自动连线
私有InitApp;
@自动连线
私有用户bean用户bean;
私有列表openRepairsClient;
私有列表关闭PairsClient;
@施工后
公众假期{
试一试{
字符串username=userBean.getUsername();
openRepairsClient=app.repairService.findOpenRepairsByClient((客户端)app.userService.getUser(userBean.getUsername());
closedRepairsClient=app.repairService.findClosedRepairsByClient((Client)app.userService.getUser(userBean.getUsername());
}捕获(UserServiceException ex){
getLogger.getLogger(OverviewBean.class.getName()).log(Level.SEVERE,null,ex);
}
}
//getter和setters openRepairsClient/closedRepairsClient
@得到
@路径(“/getrepairs”)
@生成(“应用程序/json”)
公共字符串getOpenRepairsInJson(){
字符串username=userBean.getUsername();
返回“测试”;
}
}
fillRepairs()能够使用userBean而没有任何错误。例如,try catch中的“String username=userBean.getUsername();”正确返回用户名
我的问题是,当调用getOpenRepairsInJson时,它会抛出一个nullPointerException
在“字符串username=userBean.getUsername();”上。我的userBean似乎没有“链接”
在方法调用时。我做错了什么
提前谢谢
OverviewBean
是如何创建的?这些bean在我的webapp中正常工作(我编辑了我的帖子,tempAcceptedBid现在也可以使用了,它工作得很好),我添加了更多的代码进行澄清
@Component("overviewBean")
@Scope("view")
@Path("/repairs")
public class OverviewBean {
@Autowired
private InitApp app;
@Autowired
private UserBean userBean;
private List<Repair> openRepairsClient;
private List<Repair> closedRepairsClient;
@PostConstruct
public void fillRepairs() {
try {
String username = userBean.getUsername();
openRepairsClient = app.repairService.findOpenRepairsByClient((Client) app.userService.getUser(userBean.getUsername()));
closedRepairsClient = app.repairService.findClosedRepairsByClient((Client) app.userService.getUser(userBean.getUsername()));
} catch (UserServiceException ex) {
Logger.getLogger(OverviewBean.class.getName()).log(Level.SEVERE, null, ex);
}
}
//Getters and setters openRepairsClient/closedRepairsClient
@GET
@Path("/getrepairs")
@Produces("application/json")
public String getOpenRepairsInJson() {
String username = userBean.getUsername();
return "test";
}
}