본문 바로가기
728x90

김영한29

인프런 스프링 기본 강의 정리 #6 1. 컴포넌트 스캔과 의존관계 자동 주입 시작하기지금까지 스프링 빈을 등록할 때는 자바 코드의 @Bean이나 XML의  등을 통해서설정 정보에 직접 등록할 스프링 빈을 나열했다. 이러한 과정을 생략하고자 스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 컴포넌트 스캔이라는 기능을 제공한다. 또한  의존관계도 자동으로 주입하는 @Autowired라는 기능도 제공한다.  이를 알아보고자 기존 AppConfig.java는 과거 코드와 테스트를 유지하기 위해 남겨두고, src/main/java에 새로운 AutoAppConfig 클래스를 생성한다.import org.springframework.context.annotation.ComponentScan;import org.springframework.co.. 2023. 11. 25.
인프런 스프링 기본 강의 정리 #5 1. 웹 애플리케이션과 싱클톤 대부분의 스프링 애플리케이션은 웹 애플리케이션이며, 웹 애플리케이션은 보통 여러 고객이 동시에 요청을 한다. 이때 여러 클라이언트가 memberService를 요청할 때마다 컨테이너는 다른 memberService를 만든다. 이를 확인해보기 위해 테스트 코드를 작성해보자. -스프링 없는 순수한 DI 컨테이너 테스트 src/test에 singleton 패키지를 생성하고, 그 아래에 SingletonTest 클래스를 생성한다. import hello.core1.AppConfig; import hello.core1.member.MemberService; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api... 2023. 11. 25.
인프런 스프링 기본 강의 정리 #4 1. 스프링 컨테이너 생성 //스프링 컨테이너 생성 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); ApplicationContext 를 스프링 컨테이너이자 인터페이스이다. 그리고 new AnnotationConfigApplicationContext(AppConfig.class)는 ApplicationContext의 구현체이다. 스프링 컨테이너의 생성 과정을 알아보도록 하자. 1) 스프링 컨테이너 생성 스프링 컨테이너를 생성하면 그 안에 스프링 빈 저장소가 생성된다. 이때 구성 정보(AppConfing.class)를 지정해줘야 한다. 2) 스프린 빈 등록 @Bean이 붙은 코드의 .. 2023. 11. 23.
인프런 스프링 기본 강의 정리 #3 1. 새로운 할인 정책 개발 할인 정책 인터페이스를 구현하는 새로운 구현 클래스인 정률 할인 정책 클래스를 생성한다. src/main/java/discount에 RateDiscountPolicy 클래스를 생성한다. import hello.core1.member.Grade; import hello.core1.member.Member; public class RateDiscountPolicy implements DiscountPolicy{ private int discountPercent=10; // 할인해주는 퍼센트 값 @Override public int discount(Member member, int price) { if(member.getGrade()== Grade.VIP){ return price.. 2023. 11. 20.
728x90