Когда я запускаю класс Test Runner, он должен давать ожидаемый результат в виде Views = 1047, вместо этого он возвращает views = 0 i.e значение null. Что я делаю не так?Bean return 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());
}
}
Это RestApi класс от того, где я впрыснуть значения боб
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);
}
}
} }
Это мой компонент бобов
public class SocialBean {
private long views;
public long getViews() {
return views;
}
public void setViews(long views) {
this.views = views;
}
Почему «abc» влияет на «bean» в вашем основном методе? Он влияет на тот, который он создает в своем собственном конструкторе, который сразу же выходит за рамки. – JonK
У вас есть два экземпляра «SocialBean», который вы создаете в «TestRunner» и один в «JsonRestApi». Вы не используете Spring в этом коде, и вы не делаете инъекции зависимостей. (Вы говорите, что вы «вводите значения в компонент», но вы ничего не вводите). – Jesper
Является ли их каким-либо способом я могу получить доступ к значению компонента, установленному внутри JsonRestApi contructor в классе Test Runner? –