テストランナークラスを実行すると、期待される出力がViews = 1047になるはずです。代わりに、ビュー= 0、つまりヌル値が返されます。私は間違って何をしていますか?Beanがnullを返す値
これは
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());
}
}
これは私がこれは豆
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);
}
}
} }
に値を注入していた場所からRestApiクラスである私のメインクラスです私の豆のクラス
public class SocialBean {
private long views;
public long getViews() {
return views;
}
public void setViews(long views) {
this.views = views;
}
mainメソッドの 'bean'に' abc'が影響するのはなぜですか?これは、独自のコンストラクターで作成したものに影響を与え、すぐに範囲外になります。 – JonK
あなたは 'SocialBean'のインスタンスを2つ持っています。一つは' TestRunner'で作成し、もう一つは '' JsonRestApi'で作成します。このコードではSpringをまったく使用しておらず、依存関係の注入も行っていません。 (あなたは "あなたは"ビーンに値を注入していますが、あなたは何も注入していません ")。 – Jesper
Test RunnerクラスのJsonRestApiコンストラクタの中で設定されたbeanの値にアクセスする方法はありますか? –