TIL 열여섯째날, 오늘도 새로 학습한 내용을 적어보자.
습득한 지식 및 내용
자바 버전 정보
: 자바에서 버전 정보를 나타내는데 있어서 크게 두 가지로 분류됨
: JAVA의 버전 표기법
// 둘 다 같은 버전임
6 = 1.6 / 7 = 1.7 / 8 = 1.8 / 9 = 1.9 / 10 = 1.10
: major 버전 변경이 된다는 것은 상당한 변화를 의미하는데 자바에서의 이런 변화는 그리 크지 않기 때문에 개발자 입장에서 1.6, 1.7 ... 이런식으로 네이밍 된 것으로 보임
@PostConstruct
개념
: Java에서 사용되는 어노테이션 중 하나로, 스프링 프레임워크와 같은 의존성 주입 컨테이너에서 빈의 초기화 작업을 수행할 때 사용
언제 사용할까?
2-1. 의존성 주입이 완료된 후 초기화 작업이 필요할 때
: 예를 들어, DB 연결 설정이나 파일 읽기 등과 같이 객체가 준비된 후 추가적인 설정이 필요한 경우
2-2. 빈이 생성될 때 특정 로직을 실행해야 할 때
: 예를 들어, 캐시 초기화나 기본값 설정 등
사용 시 주의 사항
3-1. @PostConstruct
메서드는 반환 타입이 void
여야 하며, 매개변수를 가질 수 없음
3-2. 클래스에 여러 개의 @PostConstruct
메서드를 정의하면 안됨. 한 클래스에 하나의 @PostConstruct
메서드만 정의해야 함
3-3. @PostConstruct
는 서블릿 컨테이너 환경(ex) Tomcat)에서 사용할 수 있지만, 독립 실행형 자바 Application에서는 동작하지 않을 수 있음
사용 예시
@Component
public class PostConTest {
@Autowired
Mapper mapper;
public static String str;
public static ResDao resDao;
// Spring 실행될 때 초기에 한 번 호출하여 메모리에 저장후 사용하고 싶을 때 @PostConstruct 사용
@PostConstruct
public void init(){
str = "test";
resDao = mapper.selectTest();
}
}
cf) 참고 자료: https://back.tistory.com/97