@PostConstruct란?
@PostConstruct는 의존성 주입이 이루어진 후 초기화를 수행하는 메서드
사용하는 이유
(1) 생성자가 호출된 경우, Bean은 초기화가 되지 않았다.
@PostConstruct를 사용하면 Bean이 초기화 됨과 동시에 의존성을 확이할 수 있다.
(2) bean lifecycle에서 오직 한 번만 수행이된다.
bean이 여러번 초기화 되는 것을 방지할 수 있다.
코드 사용
@Value("${jwt-secret-key}")
private String secretKey;
@Value("${jwt-access-token-expiration-time}")
private long ACCESS_TOKEN_EXPIRED_TIME;
@Value("${jwt-refresh-token-expiration-time}")
private long REFRESH_TOKEN_EXPIRED_TIME;
private SecretKey key;
@PostConstruct
public void init(){
this.key = Keys.hmacShaKeyFor(Decoders.BASE64.decode(secretKey));
}
secretKey를 사용하기 위해서 주입이 이루어지고 난 후 시점에 key를 초기화해주는 로직에 사용했다.
'Backend > Spring' 카테고리의 다른 글
[김영한 Spring MVC 1편] MVC 프레임워크 만들기 (0) | 2024.05.17 |
---|---|
[김영한 Spring DB 1편] 커넥션풀과 데이터 소스 (0) | 2024.05.16 |
[김영한 Spring MVC 1편] 서블릿, JPS, MVC 패턴 (0) | 2024.05.09 |
[김영한 Spring MVC 1편] HTTP 응답 데이터 (0) | 2024.05.08 |
[김영한 Spring MVC 1편] HTTP 요청 데이터 (0) | 2024.04.26 |