ㅅㅇ
[Spring boot] @PostConstruct 어노테이션 본문
1. @PostConstruct 란?
의존성 주입이 이루어진 후 초기화를 수행하게 하며, @PostConstruct가 붙은 메서드는 클래스가 service를 수행하기 전에 발생한다. 이 메서드는 다른 리소스에서 호출되지 않는다는 것을 유심히 볼 필요가 있다.
2. 사용 이유
- 생성자(일반)가 호출 되었을 때, bean은 아직 초기화 되지 않은 상태이다. 이때, @PostConstruct를 사용하면, 빈(bean)이 초기화 됨과 동시에 의존성을 확인할 수 있다. bean 초기화가 완료된 후 수행된다는 것이 보장되므로 의존성 주입이 완료된 것을 알 수 있다.
- 클래스 내에 @Autowired를 붙여서 객체를 사용할 때, 생성자가 필요하다면 이때, @PostConstruct를 사용되면 좋을 것이다.
- bean 의 생애주기에서 오직 한 번만 수행된다는 것을 보장한다. 따라서 bean이 여러 번 초기화되는 걸 방지할 수 있다.
@Service
public class AccountService {
@Autowired
private AccountRepository accountRepository;
@PostConstruct
public void signUp(Account account) {
accountRepository.save(account);
}
'SW_STUDY > SpringBoot' 카테고리의 다른 글
[Spring] @RequestBody, @RequestParam, @ModelAttribute (0) | 2023.05.23 |
---|---|
[SpringSecurity JWT] 인증인가 구현 - 회원가입, 로그인, 토큰을 통한 접근 (0) | 2023.03.29 |
[Spring boot] @Transactional 어노테이션 (0) | 2023.03.08 |
[Spring Boot, Java] Object ↔ JSON 문자열 : Gson (0) | 2023.03.08 |
[Spring Boot, Java] Entity ↔ DTO 변환 : 자바 코드 매핑 & ModelMapper (0) | 2023.03.08 |