본문 바로가기

서버29

[JPA] 영속성 컨텍스트 *본 게시글은 김영한님의 자바 ORM JPA 표준 책을 보고 이해한 내용을 바탕으로 정리한 글입니다. JPA가 제공하는 기능은 크게 엔티티와 데이블을 매핑하는 설계 부분과 매핑한 엔티티를 실제 사용하는 부분으로 나눌 수 있다. 매핑한 엔티티를 엔티티 매니저를 통해 영속성 컨텍스트와 데이터베이스에 CRUD(create, read, update, delete)하는 등 엔티티와 관련된 모든 일을 처리한다. 엔티티 매니저 팩토리와 엔티티 매니저 엔티티 매니저는 엔티티 매니저 팩토리를 통해 만들어낼 수 있다. 엔티티 매니저 팩토리 생성은 비용이 아주 많이 들고, 엔티티 매니저 팩토리는 애플리케이션을 개발할 때 굳이 여러 개 있을 필요가 없기 때문에 하나만 생성해야 한다. 즉, 싱글톤 객체로 관리해야 한다. //영.. 2022. 10. 29.
[Spring] 빈 스코프 request 클라이언트의 요청을 구분하는 방법 *본 게시글은 김영한님 스프링 핵심 원리 기본편을 보고 이해한 내용을 바탕으로 정리한 글입니다. 빈 스코프란? 빈 스코프란 빈이 존재할 수 있는 범위를 뜻한다. 스코프를 따로 지정하지 않으면 스프링 빈이 싱클톤으로 생성되어 스프링 빈이 스프링 컨테이너의 시작과 함께 생성되어서 스프링 컨테이너가 종료될 때까지 유지된다. 스프링의 3가지 빈 스코프 싱글톤 : 기본 스코프 프로토타입 : 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 관여하고 더 이상 관리하지 않는 스코프 웹 관련 스코프 request: 웹 요청이 들어오고 나갈때 까지 유지되는 스코프이다. session: 웹 세션이 생성되고 종료될 때 까지 유지되는 스코프이다. application: 웹의 서블릿 컨텍스트와 같은 범위로 유지되는 .. 2022. 8. 28.
[Spring] 빈 스코프 prototype *본 게시글은 김영한님 스프링 핵심 원리 기본편을 보고 이해한 내용을 바탕으로 정리한 글입니다. 빈 스코프란? 빈 스코프란 빈이 존재할 수 있는 범위를 뜻한다. 스코프를 따로 지정하지 않으면 스프링 빈이 싱클톤으로 생성되어 스프링 빈이 스프링 컨테이너의 시작과 함께 생성되어서 스프링 컨테이너가 종료될 때까지 유지된다. 스프링의 3가지 빈 스코프 싱글톤 : 기본 스코프 프로토타입 : 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 관여하고 더 이상 관리하지 않는 스코프 웹 관련 스코프 request: 웹 요청이 들어오고 나갈때 까지 유지되는 스코프이다. session: 웹 세션이 생성되고 종료될 때 까지 유지되는 스코프이다. application: 웹의 서블릿 컨텍스트와 같은 범위로 유지되는 .. 2022. 8. 28.
[Spring] 빈 생명주기 콜백 *본 게시글은 김영한님 스프링 핵심 원리 기본편을 보고 이해한 내용을 바탕으로 정리한 글입니다. 스프링 빈 생명주기 스프링 빈은 간단하게 다음과 같은 라이프사이클을 가진다. 1. 객체 생성 2. 의존관계 주입 스프링 빈은 객체를 생성하고 의존관계를 모두 주입하고 나서야 필요한 데이터의 준비가 완료된다. 개발자가 의존관계 주입이 모두 완료된 시점을 어떻게 알 수 있을까? 스프링은 의존관계 주입이 완료되면 스프링 빈에게 콜백 메서드를 통해서 초기화 시점을 알려주는 다양한 기능을 제공한다. 스프링 빈의 이벤트 라이프사이클 1. 스프링 컨테이너 생성 2. 스프링 빈 생성 3. 의존관계 주입 4. 생성 후 콜백 5. 사용 6. 소멸 전 콜백 7. 종료 *참고 생성자는 파라미터를 받고, 메모리를 할당해서 객체를 생.. 2022. 8. 28.