@PostConstruct
Spring은 빈 속성 초기화 직후에 @PostConstruct로 주석이 달린 메서드를 한 번만 호출한다.
(초기화할 항목이 없는 경우에도 메서드 실행)
@PostConstruct가 있는 메서드는 static 할 수 없다.
기본 사용자를 만들기 위해 사용하는 예시)
@Component
public class DbInit {
@Autowired
private UserRepository userRepository;
@PostConstruct
private void postConstruct() {
User admin = new User("admin", "admin password");
User normalUser = new User("user", "user password");
userRepository.save(admin, normalUser);
}
}
@PostConstruct
private void init() {
restTemplate.setErrorHandler(new ResponseErrorHandler() {
@Override
public boolean hasError(ClientHttpResponse response) {
return false;
}
@Override
public void handleError(ClientHttpResponse response) {
}
});
}
쓰면서 이런 예시를 보고 @PostConstruct에 대해 조사해 본 건데 아직은 좀 헷갈리는 것 같다.
@PreDestroy
Spring이 애플리케이션 컨텍스트에서 빈을 제거하기 직전에 한 번만 실행된다.
@PostConstruct와 마찬가지로 static할 수 없다.
@Component
public class UserRepository {
private DbConnection dbConnection;
@PreDestroy
public void preDestroy() {
dbConnection.close();
}
}
@PostConstruct와 @PreDestroy 모두 Java EE의 일부이다. Java EE는 Java9에서 더이상 사용되지 않고, Java11에서 제거 되었기 때문에 사용하려면 종속성을 추가해야 한다.
Reference
'Java' 카테고리의 다른 글
[Java] 리플렉션 공부 (0) | 2022.10.25 |
---|---|
ObjectMapper (0) | 2022.08.24 |
UnrecognizedPropertyException (0) | 2022.08.23 |
JsonNode to Object (0) | 2022.08.23 |
mac 자바 8 설치 (0) | 2022.08.19 |
@PostConstruct
Spring은 빈 속성 초기화 직후에 @PostConstruct로 주석이 달린 메서드를 한 번만 호출한다.
(초기화할 항목이 없는 경우에도 메서드 실행)
@PostConstruct가 있는 메서드는 static 할 수 없다.
기본 사용자를 만들기 위해 사용하는 예시)
@Component
public class DbInit {
@Autowired
private UserRepository userRepository;
@PostConstruct
private void postConstruct() {
User admin = new User("admin", "admin password");
User normalUser = new User("user", "user password");
userRepository.save(admin, normalUser);
}
}
@PostConstruct
private void init() {
restTemplate.setErrorHandler(new ResponseErrorHandler() {
@Override
public boolean hasError(ClientHttpResponse response) {
return false;
}
@Override
public void handleError(ClientHttpResponse response) {
}
});
}
쓰면서 이런 예시를 보고 @PostConstruct에 대해 조사해 본 건데 아직은 좀 헷갈리는 것 같다.
@PreDestroy
Spring이 애플리케이션 컨텍스트에서 빈을 제거하기 직전에 한 번만 실행된다.
@PostConstruct와 마찬가지로 static할 수 없다.
@Component
public class UserRepository {
private DbConnection dbConnection;
@PreDestroy
public void preDestroy() {
dbConnection.close();
}
}
@PostConstruct와 @PreDestroy 모두 Java EE의 일부이다. Java EE는 Java9에서 더이상 사용되지 않고, Java11에서 제거 되었기 때문에 사용하려면 종속성을 추가해야 한다.
Reference
'Java' 카테고리의 다른 글
[Java] 리플렉션 공부 (0) | 2022.10.25 |
---|---|
ObjectMapper (0) | 2022.08.24 |
UnrecognizedPropertyException (0) | 2022.08.23 |
JsonNode to Object (0) | 2022.08.23 |
mac 자바 8 설치 (0) | 2022.08.19 |