본문 바로가기

강의 정리28

1. 환경설정 1. JPA 환경설정 spring.jpa.hibernate.ddl-auto create : 어플리케이션 실행 시점에 내가 가지고 있는 엔터티를 지우고 재생성한다. spring.jpa..properties.hibernate show_sql : System.out.println 형식으로 쿼리문을 출력해준다. 2020. 12. 25.
7. 빈 스코프 1. 빈 스코프란 스코프 : 빈이 존재할 수 있는 범위를 뜻한다. 싱글톤 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프 프로토타입 빈 요청을 하면, 빈 생성, 의존관계 주입, 초기화 메소드까지 호출하고 빈을 제공한다. 종료메소드는 호출되지 않는다. 프로토타입 빈의 주입까지만 관여하고 더는 관리하지 않는 짤은 범위의 스코프다. @Scope("prototype") 웹 관련 스코프 request : 웹 요청이 들어오고 나갈때 까지 유지되는 스코프이다. session : 웹 세션이 생성되고 종료될 때까지 유지되는 스코프이다. application : 웹의 서블릿 컨텍스트와 같은 범위로 유지되는 스코프이다. 2. 프로토타입 스코프 싱글톤은 항상 같은 인스턴스의 빈을 반환 프로토타입은 항상 새.. 2020. 12. 24.
6. 빈 생명주기 콜백 1. 빈 생명주기 콜백 시작 스프링 빈은 간단하게 다음과 같은 라이프사이클을 가진다. 객체 생성 -> 의존관계 주입 생성자 주입은 예외다. 객체 생성에 있어서, 의존관계가 주입된 후 생성되는 것이 자바의 룰이기 때문. 수정자 주입인 경우, 객체 생성 단계에서는 아직 의존관계가 주입되어있지 않다. 의존관계 주입이 모두 끝난 다음에 초기화 작업을 진행해야 한다. 의존관계 주입이 완료되면, 스프링은 콜백메소드를 통해서 알려준다. 또한, 스프링은 빈이 소멸하기 전에 소멸 콜백을 준다. 스프링 빈의 이벤트 라이프 사이클 스프링 컨테이너 생성 스프링 빈 생성 의존관계 주입 초기화 콜백 객체를 사용 소멸전 콜백 스프링 종료 생성과 초기화를 분리하는 것이 좋다. 생성은 메모리에 올리고, 필수적인 정보 (파라미터 값 세.. 2020. 12. 23.
4. 컴포넌트 스캔 1. 컴포넌트 스캔 @ComponentScan @Component가 붙은 클래스를 빈으로 등록한다. 아래의 코드처럼, @Component가 붙어있어도 제외할 수 있다. Configuration 어노테이션이 붙은 것은 필터링해서 제외하라. @ComponentScan( excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class) ) @ComponentScan + @Autowired를 통해서 빈 등록과 의존관계 주입을 쉽게할 수 있다. @Component public class MemberServiceImpl implements MemberService { private final Member.. 2020. 12. 17.