인프런 2

스프링 객체지향과 다형성

초반에 리포지토리를 구현할 때는 db 연결 없이 해쉬 맵으로 구현했었다. 멤버 리포지토리 인터페이스를 해쉬맵으로 구현한 멤버 메모리멤버리포지토리 구현체로만 연결 했었다. 하지만 이후 h2 데이터 베이스와 연결하기 위해 jdbc 맴버 리포지토리에 새롭게 구현했다.그래서 멤버 리포지토리의 인터페이스가 두개의 구현체와 연결이 된 상황이 됐다.  이때, 기존에 멤버 리포지토리와 의존관계가 있는 서비스를 어떻게 처리해야할까? 스프링 DI를 이전에 컴포넌트 스캔을 통한 자동 의존 관계 설정(@Autowired) 방식이 아닌, 자바 코드로 직접 스프링 빈(@Bean)에 등록하면 간단하게 해결할 수 있었다. @Configurationpublic class SpringConfig { private final Dat..

WEB 2024.11.25

스프링 의존성 주입에 관하여

스프링의존성 주입에 대해 알아보기 전에,먼저 계층 구조에 대해 다시 확인하고 가보자.보통 스프링에서 개발을 진행할 때, Controller, Service, Repository 이렇게 계층을 나누어 개발한다.Controller가 Service를, Service가 Repository를 관여하는 방식이다. 각각의 계층을 작성시 코드위에 @Controller, @Service, @Repository 어노테이션을 달아주는데, 이때 어노테이션의 역할은 해당 파일을 스프링 빈으로 등록하겠다는 의미이다.@Controller // 아래 코드를 컨트롤러로 스프링 컨테이너에 등록하겠다는 의미public class MemberController { private final MemberService memberServi..

WEB 2024.10.27