728x90
반응형
@RequiredArgsConstructor이란?
생성자를 자동으로 생성하는데 도움을 주는 것이 주요 목적이다.
단, 인스턴스 변수에 final 이라는 키워드가 붙은 필드에 대한 생성자를 생성한다.
왼쪽 사진 처럼 ItemRepository에 대한 생성자를 생성하는 것 대신, 오른쪽 그림처럼 코드 한줄로 바꿔줄 수 있다.
@PostConstruct란?
빈(Bean) 초기화 작업을 수행하기 위해 사용된다.
이 어노테이션을 사용하면 객체가 생성된 후에 특정 메소드가 호출되도록 할 수 있다.
일반적으로 Java 클래스의 생성자는 객체가 인스턴스화 될 때 실행되지만,
객체를 완전히 초기화하고 준비하는 작업은 생성자 안에서 수행하기에는 적절하지 않을 때가 있다.
이 어노테이션을 사용하면 객체가 생성된 후에 원하는 초기화 작업을 수행할 수 있다.
단, 몇가지 규칙을 따라야한다.
- 메소드는 public 이어야한다.
- 메소드는 리턴 타입이 void여야 한다.
- 어떤 매개변수도 받지 않아야 한다.
- 해당 메소드는 클래스가 생성되고 주입된 모든 의존성이 설정된 후 호출된다.
컨트롤러에서 PostConstruct를 이용해 임시로 데이터를 집어넣어보았다.
html이 보여질 곳에 타임리프를 적용해서 데이터를 뽑아내 주었고,
뽑아낸 데이터를 html로 실행 시켜보니 PostConstruct에서 넣은 데이터가 정상적으로 출력되는걸 확인할 수 있다.
728x90
반응형
'✨ Back-end > etc' 카테고리의 다른 글
[Spring] LocalDateTime.now( ) 써서 시간 구하기 (0) | 2023.09.02 |
---|---|
@ModelAttribute사용하여 극한으로 코드 줄이기 (0) | 2023.09.02 |
스프링(Spring) MVC 패턴에 대한 개념과 동작 순서 (0) | 2023.08.29 |
@RestController와 @RequestMapping @PathVariable ( 경로변수 ) (0) | 2023.08.28 |
로깅(Logging) 에 대해서, 왜 써야하는지? @Slf4j 어노테이션 (0) | 2023.08.27 |
댓글