본문 바로가기

자바의 봄(Spring)/자바와 스프링 공부하기23

스프링 핵심 원리(8/8) - 기본편 빈 스코프 1월 25일 수요일 - 스프링 핵심 원리(8/8) - 기본편 빈 스코프 1. 빈 스코프 - 빈이 존재할 수 있는 범위를 뜻한다. 싱글톤 스코프 - 스프링 컨테이너의 시작과 종료까지 유지되는 스코프 프로토타입 스코프 - 스프링 컨테이너는 프로토 타입 빈의 생성과 의존관계 주입까지만 관여하고 더는 관리하지 않는 매우 짧은 범위의 스코프이다 웹 관련 스코프 request - 웹 요청이 들어오고 나갈때까지 유지되는 스코프 session - 웹 세션이 생성되고 종료될 때까지 유지되는 스코프 application - 웹의 서블릿 컨텍스트와 같은 범위로 유지되는 스코프 2. 프로토 타입 스코프 프로토 타입 스코프는 매번 생성될 때마다 서로 다른 객체가 생성된다. @Test void prototypeBeanFind().. 2023. 1. 26.
스프링 핵심 원리(6/8) - 기본편 의존관계 자동 주입 1월 23일 월요일 - 스프링 핵심 원리(6/8) - 기본편 의존관계 자동 주입 다양한 의존관계 주입 방법 생성자 주입 - 생성자가 하나일 때는 @autowired가 없어도 자동으로 의존관계 주입이 일어난다. Setter 주입 - 사용 권장하지 않음 , 변경이 일어날 수 있기 때문에 필드 주입 - 사용 권장하지 않음 , 테스트 하기 위해서 스프링 컨테이너를 띄워야 하며(스프링에 의존적이게 됨) , 순수한 자바로 테스트 할 수 없도록 됨 옵션 처리 - 의존관계를 주입할게 없으면 주입하지 않게됨 @autowired의 옵션 @autowired(required=false) 파라미터에 @nullable이 추가된 경우 Optional이 파라미터에 추가된 경우 생성자 주입을 선택해라 롬복과 최신 트랜드 2023. 1. 26.
스프링 핵심 원리(5/8) - 기본편 컴포넌트 스캔 1월 22일 일요일 - 스프링 핵심 원리(5/8) - 기본편 컴포넌트 스캔 1. 컴포넌트 스캔과 의존관계 자동 주입 시작하기 @component를 붙이면 빈 등록을 해주게 된다. 그러면 Autowired로 의존 관계 주입을 해주면 된다. 2. 탐색 위치와 기본 스캔 대상 - @springbootapplication 에 @componentscan이 붙어 있어서 하위 패키지에 있는 내용들을 다 검색하게 된다. ( 사실 따로 컴포넌트 스캔을 붙일 필요가 없음 ) 3. 필터 IncludeFilter , ExcludeFilter 를 통해서 검색할 컴포넌트를 지정하거나 제외할 수 있다. 4. 중복 등록과 충돌 수동 등록과 자동 등록이 충돌 시 오류가 나도록 해놨다. 2023. 1. 26.
[Spring] 김영한 스프링 핵심 원리 (2/8) 강의 정리 1월 18일 수요일 - 스프링 핵심 원리(2/8) - 기본편 객체 지향 원리 적용 - 새로운 할인 정책 개발과 테스트 - 새로운 할인 정책 요구에 따라서 DiscountPolicy라는 인터페이스를 구현한 새로운 할인 정책 클래스 RateDiscountPolicy 를 만든다. RateDiscountPolicy는 고객 등급(Enum)이 VIP인 경우(Grade.VIP) 물건 가격의 10%를 할인해준다. (테스트 코드를 작성할 때는 되는 케이스와 되지 않는 케이스 모두 작성하는 것을 권장한다.) - 새로운 할인 정책 적용과 문제점 - 새롭게 만든 할인 정책을 적용하기 위해서는 OrderServiceImpl에서 기존에 존재하던 FixDiscountPolicy를 RateDiscountPolicy로 수정해야 한다... 2023. 1. 18.