@Controller
@RequestMapping(value = "/myProject")
public class myClassController {
@Autowired
Mydata data;
@RequestMapping(method = RequestMethod.GET, value = "/mydetails/{id}")
public @ResponseBody Mydata mymethod(@PathVariable(value = "id") String id,
HttpServletRequest request) {
data.setId(id);
return data;
}
}
@Component
class Mydata {
private String Id;
public String getId() {
return Id;
}
public void setId(String s) {
this.Id= Id;
}
}
问题 在这里我自动装配'Mydata',在mymethod()中,我能够看到id在调试期间有一些价值。 设置值后,它将变为null。 ie)data.getId()返回null。 请注意:'data'不为null。 当我使用new实例化Mydata时,它的工作正常。 我的自动装配有什么问题?请帮忙..
答案 0 :(得分:2)
这不是与Spring和自动装配有关的错误 这只是一个简单的分配错误。
此处您不会将参数分配给字段:
plot_ly(df_filtered, x = ~Score, y = ~Hospital.Name,
type = "bar", color = ~Compared.to.National, colors = FORMAT_CHART_COLOR_LIST,
hoverinfo = 'text', text = ~paste('State: ', State,
'<br> City: ', City,
'<br> Score: ', Score))
您将字段分配给自己。它没有效果。
你应该这样做:
public void setId(String s) {
this.Id= Id;
}
作为旁注,如果您想尊重命名约定:变量名称应以小写字母开头(public void setId(String s) {
this.Id= s;
}
而不是id
)。