Spring Framework/Spring 기본원리

스프링에서 의존관계 자동주입을 하는데, 자동주입 할 대상이 2개 이상이 존재하면 어떻게 구분을할까? 스프링은 사용자가 @Autowired를 붙여주는 의존관계 자동주입 이외의 일을 하지 않는다면, 자동주입 할 대상이 2개 이상이면 NoUniqueBeanDefinitionException 예외를 터뜨린다. 따라서 의존관계 주입할 대상이 2개 이상이면 사용자가 어떤 대상에게 우선권을 줄것인지, 아니면 어떤 비즈니스 로직에 어떤 주입을 할 것인지에 대한 처리를 해야한다. 만약 여기서 자동주입이 잘 안된다는 이유로 인터페이스가 아닌 구현체로 자동주입을 명시하면 DIP를 위반하고 유연성이 떨어지기 때문에 그런일은 하지 않길 바란다. 본격적으로 해결방법을 알아보자. 조회 대상 빈이 2개 이상일 때 해결 방법은 다음과..

참고한 자료 : www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard 스프링 핵심 원리 - 기본편 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Spring 객체지향 온 www.inflearn.com 의존관계 주입 DI(Dependency Injection) Spring에서 의존관계 주입이란 다음과 같이 정의한다. 어떤 객체에 스프링 컨테이너가 또 다른 객체에 의존성을 맺어주는 행위 인터페이스..

좋은 객체지향설계의 5가지 원칙 - SOLID SRP : 단일 책임 원칙 OCP : 개방-폐쇄 원칙 LSP : 리스코프 치환 원칙 ISP : 인터페이스 분리 원칙 DIP : 의존관계 역전 원칙 이 5가지 원칙을 잘 지키는 사람이 Java를 잘 하는 사람이자 객체지향설계를 잘 하는 사람이고, Spring 을 잘하는 사람이 될 수 있다. SRP(Single responsibility principle) 단일 책임 원칙 하나의 클래스는 하나의 책임만 가져야 한다. 모호할 수도 있는 첫 번째 말인데... 중요한 문제는 변경이다. 변경이 있을 때 다른 클래스에 미치는 파급 효과가 적으면 SRP를 잘 지킨 것이다. OCP(Open-closed principle) 개방-폐쇄 원칙 변경에는 닫혀있으나 확장에는 열려있어..