스프링 5

[스프링 핵심 원리 - 기본편] 의존관계 자동 주입 1

다양한 의존 관계 주입 방법 의존 관계 주입 4가지생성자 주입수정자 주입(setter 주입)필드 주입일반 메서드 주입 1. 생성자 주입 이름 그대로 생성자를 통해서 의존 관계를 주입받는 방법이다.생성자 호출 시점에 딱 한번만 호출되는 것을 보장한다.불변, 필수 의존 관계에 사용한다.@Componentpublic class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired public OrderServiceImpl(MemberRepository memberRe..

Spring 2024.11.05

[스프링 핵심 원리 - 기본편] 컴포넌트 스캔 1

컴포넌트 스캔과 의존관계 자동 주입 시작하기지금까지 스프링 빈을 등록할 때는 자바 코드의 @Bean이나 을 통해 설정 정보를 직접 등록할 스프링 빈을 나열했다.예제는 등록해야 할 스프링 빈이 몇 개 안 되었지만 실무에서 수천, 수만 개가 된다면 설정정보도 커지고 개발자가 빈 등록을 누락할 수 도 있다.이를 해결하기 위해 스프링에서 설정정보 (AppConfig.class)가 없어도 자동으로 스프링 빈을 제공하는 컴포넌트 스캔이라는 기능을 제공하다.또 의존관계도 자동으로 주입하는 @Autowired라는 기능도 제한한다.코드로 알아보기!package hello.core;import org.springframework.context.annotation.ComponentScan;import org.springfr..

Spring 2024.10.18

[스프링 핵심 원리 - 기본편] 싱글톤 패턴 1

싱글톤 패턴이란싱글톤 패턴은 인스턴스를 불필요하게 생성하지 않고 오직 하나의 인스턴스만 생성하여 사용하는 디자인패턴이다.즉, 생성자의 호출이 반복적으로 이루어져도 실제로 생성되는 객체는 최초로 생성된 객체를 반환해 주는 것이다.  싱글톤 패턴을 사용하는 이유인스턴스가 단 하나만 존재하는 것을 보증하고 싶은 경우 싱글톤 패턴을 사용한다. 장점메모리 낭비를 방지해 준다이미 생성된 인스턴스를 활용함으로써 속도 측면에서도 장점이 있다.데이터 공유가 쉽다.싱글톤으로 생성된 객체는 전역성을 띄기 때문에 다른 객체와 공유가 용이하다.하지만 만약 여러 클래스의 인스턴스에서 싱글톤 인스턴스의 데이터에 동시에 접근하게 된다면 동시성 문제가 생길 수 있다.단점싱글톤 패턴을 구현하는 코드가 많이 들어간다.의존관계상 클라이언트..

Spring 2024.10.17

[스프링 핵심 원리 - 기본편] 스프링 핵심 원리 이해2 - 객체 지향 원리 적용

https://newfangled.tistory.com/28 [스프링 핵심 원리 - 기본편] 스프링 핵심 원리 이해1 - 예제만들기비즈니스 요구사항과 설계아래와 같은 요구사항을 보면  회원데이터, 할인 정책 같은 부분은 지금 결정하기 어려운 부분이다.그치만 정책이 결정 나기 전까지 기다릴 수만은 없다.이때 우리는newfangled.tistory.com위의 내용과 이어지는 포스팅입니다.  새로운 할인 정책 개발새로운 할인 정책을 확장해 보자! 기획자가 할인정책을 고정금액이 아닌 VIP 고객인 경우 10% 할인이 되도록 정책을 바꾸고 싶어 하는 상황이다.개발자는 정책이 바뀌어도 걱정이 없다.왜냐하면 유연한 설계가 가능하도록 객체지향 설계 원칙을 준수했기 때문이다. ^*^  RateDiscountPolicy ..

Spring 2024.10.11

[스프링 핵심 원리 - 기본편] 스프링 핵심 원리 이해1 - 예제만들기

비즈니스 요구사항과 설계아래와 같은 요구사항을 보면  회원데이터, 할인 정책 같은 부분은 지금 결정하기 어려운 부분이다.그치만 정책이 결정 나기 전까지 기다릴 수만은 없다.이때 우리는 객체 지향 설계 방법을 활용하면 된다. 인터페이스를 만들고 언제든지 구현체를 갈아 끼울 수 있도록 설계하면 된다. 회원회원을 가입하고 조회할 수 있다.회원은 일반과 VIP 두 가지 등급이 있다.회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정)주문과 할인 정책회원은 상품을 주문할 수 있다. 회원 등급에 따라 할인 정책을 적용할 수 있다.할인 정책은 모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용해 달라. (나중에 변경될 수 있다.)할인 정책은 변경 가능성이 높다. 회사의 기본..

Spring 2024.10.09