스프링(3)
-
DI 주입 방법
DI 주입 방법 1) 필드 주입 @Autowired private MemberService memberService; Java의 Reflection API를 사용하여 접근 제한자를 무시하고 필드에 직접 접근할 수 있다. Spring Framework는 이러한 Reflection API를 사용해 private으로 선언된 필드에도 의존성을 주입할 수 있다. final로 되어 있어도 Reflection API로 변경이 가능하기 때문에 변경이 가능하다. 따라서 객체가 생성된 후에도 의존성이 변경될 수 있다. 이것은 객체의 불변성을 해칠 수 있다. 또한 테스트를 위해서 스프링 컨테이너가 필요하여 테스트하기 어렵다. 2) setter 주입 private MemberService memberService; @Auto..
2024.05.14 -
컴포넌트 스캔으로 의존관계 설정
스프링에서 각 객체를 스프링컨테이너에 빈으로 등록해서 이중에 필요로하는 객체에서 빈을 가져다가 사용한다. 그렇게 하려면 객체를 빈으로 등록해줘야 한다. 빈으로 등록하는 방법중에서 컴포넌트 스캔 방법을 알아보자.package groupInfo.study.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import groupInfo.study.service.MemberService;//@Controller 어노테이션을 넣으면 MemberController 객체를 생성해서 스피링에 넣어두고 관리한다.//스프링 컨테이너에서 빈이 관리되는것@Co..
2024.05.13 -
회원 레파지토리 테스트케이스 작성
회원을 관리하는 repository를 만들었다. 일단 repository를 interface로 선언하여 repository를 구현하는 객체를 유연하게 바꿀수 있도록 한다. MemberRepository.java package groupInfo.study.repository; import java.util.List; import java.util.Optional; import groupInfo.study.domain.Member; public interface MemberRepository { Member save(Member member); Optional findById(Long id); Optional findByName(String name); List findAll(); //Optional로 감싸..
2024.03.23