@Value("${mail.port}")
private int mailPort;
@Value("${mail.id}")
private String mailId;
public Class() {
System.out.println(mailPort); // null
}
@PostConstruct
public void init() {
System.out.println(mailPort); // 8080
}
spring에서 위와같이 vlaue값을 생성자에서 쓰려고 하면 null 값이 나온다
생성자 실행후에 각각의 값에 properties값들이 주입되기때문인데.. 이럴경우
@PostConstruct를 이용해서 초기화하면 주입된값을 정상적으로 사용할수 있다.