스프링 총정리
·
개발
주요 키워드 IoC (제어의 역전) IoC (Inversion of Confrol, 제어의 역전) : 다른 객체를 직접 생성하는 대신, 외부에서 관리하는 객체를 가져와 사용하는 것 전통적인 프로그래밍에서는 개발자가 프로그램의 흐름과 제어를 직접 다뤄야 했다.하지만 그렇다 보니, 아무리 다형성에 맞게 설계를 구현하더라도 구현 방식의 변경이 발생하면 클라이언트 코드에서 구현 방식을 선택하는 부분이 수정될 수 밖에 없었다.이는 OCP 원칙과 DIP 원칙의 위반으로 이어진다!OCP 원칙 위반 : 수정 사항 발생에 따라 클라이언트 코드를 수정해야 함DIP 원칙 위반 : 클라이언트 코드의 구현 방식을 선택하는 부분은 인터페이스가 아닌 구현체에 의존적임 하지만, 스프링 프레임워크는 이러한 문제를 해결해준다.스프링 프..
[ 김영한 스프링 강의 : 스프링 핵심 원리 - 기본편 ] 07. 의존관계 자동 주입
·
개발
이전 포스트에서 이어지는 내용입니다! [ 김영한 스프링 강의 : 스프링 핵심 원리 - 기본편 ] 06. 컴포넌트 스캔이전 포스트에서 이어지는 내용입니다! [ 김영한 스프링 강의 : 스프링 핵심 원리 - 기본편 ] 05. 싱글톤 컨테이너이전 포스트에서 이어지는 내용입니다! [ 김영한 스프링 강의 : 스프링 핵심sleepzzz214.tistory.com 다양한 의존 관계 주입 방법 의존 관계 주입 방법에는 다음과 같은 4가지 방법이 있다.생성자 주입수정자 주입 (setter)필드 주입일반 메서드 주입 이러한 의존 관계 자동 주입은 스프링 빈 내에서만 동작한다.즉, 스프링 빈이 아닌 클래스에서 @Autowired 어노테이션을 적용해봤자, 아무 기능도 동작하지 않는다. 생성자 주입 생성자 주입 ..
[ 김영한 스프링 강의 : 스프링 핵심 원리 - 기본편 ] 03. 스프링 핵심 원리 이해2 - 객체 지향 원리 적용
·
개발
이전 포스트에서 이어지는 내용입니다! [ 김영한 스프링 강의 : 스프링 핵심 원리 - 기본편 ] 02. 스프링 핵심 원리 이해1 - 예제 만들기프로젝트 생성 https://start.spring.io/위의 스프링부트 스타터 사이트에서 스프링 프로젝트를 생성한다.Dependencies에 아무 것도 추가하지 않고, 일단 기본 핵심 기능의 순수 자바만을 사용해서 프로sleepzzz214.tistory.com 기획 변경  할인 정책이 고정 금액 할인 방식에서 비율 할인 방식으로 변경되었다고 해보자!지금까지의 코드 설계로 봤을 때, DiscountPolicy 인터페이스를 새로운 비율 할인 방식으로 구현할 새로운 클래스를 만들면 될 것 같다. "discount" 패키지 내에 DiscountPolicy 인터페이스를 ..