У меня есть простой POJO, который автоволняется весной, свойства которого сохраняются.Свойства фасоли весны сохраняются
Я нахожу, что счастливый путь в порядке - задайте свойства компонента и верните его тогда, однако, когда я не нахожусь на счастливом пути, и я больше не хочу устанавливать свойство (в данном случае responseCode), я нахожу его все еще настроено на предыдущее значение (когда вызов был успешным).
Я хотел бы, чтобы это значение не было установлено и было равно тому, что я в настоящее время указал в модели.
У меня есть следующие POJO Prototype боб
package com.uk.jacob.model;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
@Component
@Scope("prototype")
public class Website {
public String url;
public boolean response;
public int responseCode = 0;
}
Я устанавливаю это информация в классе обслуживания
package com.uk.jacob.service;
import java.net.HttpURLConnection;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.uk.jacob.adapter.HttpAdapter;
import com.uk.jacob.model.Website;
@Component
public class PingerService {
@Autowired
HttpAdapter httpAdapter;
@Autowired
Website website;
public Website ping(String urlToPing) {
website.url = urlToPing;
try {
HttpURLConnection connection = httpAdapter.createHttpURLConnection(urlToPing);
website.response = true;
website.responseCode = connection.getResponseCode();
} catch (Exception e) {
website.response = false;
}
return website;
}
}
который называется из RestController
package com.uk.jacob.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.uk.jacob.model.Website;
import com.uk.jacob.service.PingerService;
@RestController
@RequestMapping("api/v1/")
public class PingController {
@Autowired
PingerService pingerService;
@RequestMapping(value = "ping", method = RequestMethod.GET)
public Website getPing(@RequestParam String url){
return pingerService.ping(url);
}
}
Не могли бы вы подробнее рассказать о 'ApplicationContext # getBean (" website ")?', Что это такое? В чем проблема в моем коде? –