Java 返回空值的Bean
当我运行testrunner类时,它应该以Views=1047的形式给出预期的输出,而不是返回Views=0,即null值。我做错了什么 这是我的主课Java 返回空值的Bean,java,javabeans,Java,Javabeans,当我运行testrunner类时,它应该以Views=1047的形式给出预期的输出,而不是返回Views=0,即null值。我做错了什么 这是我的主课 public class TestRunner { public static void main(String[] args) { // TODO Auto-generated method stub JsonRestApi abc = new JsonRestApi(); SocialBean bean = n
public class TestRunner {
public static void main(String[] args) {
// TODO Auto-generated method stub
JsonRestApi abc = new JsonRestApi();
SocialBean bean = new SocialBean();
System.out.println("Views="+bean.getViews());
}
}
这是RestApi类,我将从中向bean注入值
public class JsonRestApi {
public JsonRestApi() {
try {
String Response = "{\"Youtube Data\":\"Views\":\"1047\"}";
JSONParser parser = new JSONParser();
try {
Object obj = parser.parse(Response);
JSONObject jsonObject = (JSONObject) obj;
JSONObject jsonObject3 = (JSONObject)jsonObject.get("Youtube Data");
Long yviews = new Long((String)jsonObject3.get("Views"));
SocialBean bean = new SocialBean();
bean.setViews(yviews);
}
}
}
}
这是我的bean类
public class SocialBean {
private long views;
public long getViews() {
return views;
}
public void setViews(long views) {
this.views = views;
}
SocialBean是JsonRestApi构造函数的本地。使之成为私人领域
private SocialBean bean = new SocialBean();
public JsonRestApi() {
try {
String Response = "{\"Youtube Data\":\"Views\":\"1047\"}";
JSONParser parser = new JSONParser();
try {
Object obj = parser.parse(Response);
JSONObject jsonObject = (JSONObject) obj;
JSONObject jsonObject3 = (JSONObject)jsonObject.get("Youtube Data");
Long yviews = new Long((String)jsonObject3.get("Views"));
bean.setViews(yviews);
}
}
public SocialBean getSocialBean(){
return bean;
}
在您的主要方法中:
System.out.println("Views="+abc.getSocialBean().getViews());
仅供参考:您在本代码中没有使用SpringBean。为什么
abc
会对主方法中的bean
产生任何影响?它会影响它在自己的构造函数中创建的实例,然后该实例立即超出范围。您有两个SocialBean
实例,一个是在TestRunner
中创建的,另一个是在JsonRestApi
中创建的。在这段代码中,您根本没有使用Spring,也没有进行任何依赖项注入。(你说你在“向bean中注入值”,但你没有注入任何东西)。我可以通过什么方式访问TestRunner类中JsonRestApi构造函数内的bean值集吗?整个问题与Spring无关。你确定你甚至想到了依赖注入吗?视图仍然返回空值。我认为你的json无效。字符串响应=“{\”Youtube数据\“:{\”视图\“:\”1047\“}”;