자바
[Java] @value 어노테이션을 통해 의존성 주입시 주의사항
책 읽는 개발자_테드
2021. 8. 30. 20:49
반응형
@Value 어노테이션을 통해 클래스 필드에 의존성 주입을 할 경우 객체가 생성되고 난 후 주입된다.
즉, 객체 생성자가 실행되는 시점에선 @Value 값이 null이 되므로 주의해야한다.
대안으로 @Value 로 주입받은 값을 사용할 메소드를 따로 생성하고, @PostConstruct 어노테이션을 표시하여 사용할 수 있다.
@Component("simgRealtimeInsurance")
public class SimgRealtimeInsurance {
@Value("${SIMG_SERVER_URL}")
private String SERVER;
private String URL_DRVING_INFO_SEND;
private String URL_DRVING_INFO_BATCH_SEND;
@Resource(name = "simgHttpClient")
SimgHttpClient httpClient;
@PostConstruct
public void init() {
URL_DRVING_INFO_SEND = SERVER + "/api/v1/driving/in/live";
URL_DRVING_INFO_BATCH_SEND = SERVER + "/api/v1/driving/in/batch";
}
반응형