회원관리 예제 - Repository개발 및 테스트 케이스 작성
데이터 : 회원 ID, 이름 기능 : 회원 등록 , 조회 MemberRepository.java (Interface) package hello.hellospring.repository; import hello.hellospring.domain.Member; import java.util.List; import java.uti..
write-read.tistory.com
회원관리 예제 - Service개발 및 테스트 케이스 작성
회원관리 예제 - Repository개발 및 테스트 케이스 작성 데이터 : 회원 ID, 이름 기능 : 회원 등록 , 조회 MemberRepository.java (Interface) package hello.hellospring.repository; import hello.hellospring.d..
회원 컨트롤러가 회원 서비스 와 회원 리포지토리를 사용할 수 있게 의존관계를 준비하자.
(스프링은 스프링 컨테이너에 스프링 빈을 등록할 때 , 기본으로 싱글톤으로 등록한다. 따라서 같은 스프링 빈이면 모두 같은 인스턴스다. 설정으로 싱글톤이 아니게 설정할 수 있지만 , 특별한 경우를 제외하면 대부부 싱글톤을 사용한다)
@Controller @Service @Repository
@Controller(그대로 사용) @Service , @Repository , @Autowired를 대체
SpringConfig
package hello.hellospring; import hello.hellospring.repository.MemberRepository; import hello.hellospring.repository.MemoryMemberRepository; import hello.hellospring.service.MemberService; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class SpringConfig { @Bean public MemberService memberService(){ return new MemberService(memberRepository()); } @Bean public MemberRepository memberRepository(){ return new MemoryMemberRepository(); } }
DI (Dependency Injection)
생성자 주입
@Autowired public MemberController(MemberService memberService) { this.memberService = memberService; }
필드 주입
@Autowired private final MemberService memberService;
Setter 주입
@Autowired public void setMemberService(MemberService memberService) { this.memberService = memberService; }
의존관계가 실행중에 동적으로 변하는 경우는 거의 없으므로 생성자 주입을 권장한다.
실무에서는 주로 정형화된 컨트롤러 , 서비스 , 리포지토리 같은 코드는 컴포넌트 스캔을 사용한다.
그리고 정형화 되지 않거나 , 상황에 따라 구현 클래스를 변경해야 하면 설정을 통해 스프링 빈으로 등록한다.
(Generate)
Alt + Insert
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런
스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Java Spring MVC Spring Boot 온라인
www.inflearn.com
스프링 빈과 의존관계
회원관리 예제 - Repository개발 및 테스트 케이스 작성
데이터 : 회원 ID, 이름 기능 : 회원 등록 , 조회 MemberRepository.java (Interface) package hello.hellospring.repository; import hello.hellospring.domain.Member; import java.util.List; import java.uti..
write-read.tistory.com
회원관리 예제 - Service개발 및 테스트 케이스 작성
회원관리 예제 - Repository개발 및 테스트 케이스 작성 데이터 : 회원 ID, 이름 기능 : 회원 등록 , 조회 MemberRepository.java (Interface) package hello.hellospring.repository; import hello.hellospring.d..
write-read.tistory.com
회원 컨트롤러가 회원 서비스 와 회원 리포지토리를 사용할 수 있게 의존관계를 준비하자.
(스프링은 스프링 컨테이너에 스프링 빈을 등록할 때 , 기본으로 싱글톤으로 등록한다. 따라서 같은 스프링 빈이면 모두 같은 인스턴스다. 설정으로 싱글톤이 아니게 설정할 수 있지만 , 특별한 경우를 제외하면 대부부 싱글톤을 사용한다)
SpringConfig
DI (Dependency Injection)
생성자 주입
필드 주입
Setter 주입
의존관계가 실행중에 동적으로 변하는 경우는 거의 없으므로 생성자 주입을 권장한다.
실무에서는 주로 정형화된 컨트롤러 , 서비스 , 리포지토리 같은 코드는 컴포넌트 스캔을 사용한다.
그리고 정형화 되지 않거나 , 상황에 따라 구현 클래스를 변경해야 하면 설정을 통해 스프링 빈으로 등록한다.
(Generate)
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런
스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Java Spring MVC Spring Boot 온라인
www.inflearn.com
'기록 > 스프링부트 시작하기' 카테고리의 다른 글