본문 바로가기
✨ Back-end/etc

@RequiredArgsConstructor , @PostConstruct

by 환풍 2023. 9. 2.
728x90
반응형

 

 

@RequiredArgsConstructor이란?

생성자를 자동으로 생성하는데 도움을 주는 것이 주요 목적이다.

, 인스턴스 변수에 final 이라는 키워드가 붙은 필드에 대한 생성자를 생성한다.

 

왼쪽 사진 처럼 ItemRepository에 대한 생성자를 생성하는 것 대신, 오른쪽 그림처럼 코드 한줄로 바꿔줄 수 있다.

 


 

@PostConstruct란?

빈(Bean) 초기화 작업을 수행하기 위해 사용된다.
이 어노테이션을 사용하면 객체가 생성된 후에 특정 메소드가 호출되도록 할 수 있다.

일반적으로 Java 클래스의 생성자는 객체가 인스턴스화 될 때 실행되지만,

객체를 완전히 초기화하고 준비하는 작업은 생성자 안에서 수행하기에는 적절하지 않을 때가 있다.

이 어노테이션을 사용하면 객체가 생성된 후에 원하는 초기화 작업을 수행할 수 있다.

 

단, 몇가지 규칙을 따라야한다.

  1. 메소드는 public 이어야한다.
  2. 메소드는 리턴 타입이 void여야 한다.
  3. 어떤 매개변수도 받지 않아야 한다.
  4. 해당 메소드는 클래스가 생성되고 주입된 모든 의존성이 설정된 후 호출된다.

컨트롤러에서 PostConstruct를 이용해 임시로 데이터를 집어넣어보았다.

 

html이 보여질 곳에 타임리프를 적용해서 데이터를 뽑아내 주었고,

 

뽑아낸 데이터를 html로 실행 시켜보니 PostConstruct에서 넣은 데이터가 정상적으로 출력되는걸 확인할 수 있다.

 

 

728x90
반응형

댓글