본문 바로가기
[TIL] JAVA, SPRING, AI, AWS/[Spring]

[Spring] DI

by 정글짐 타는 애 2026. 1. 7.

 

 

 

 

만약 다음과같은 DB대용의 repository가 있을 시, ( Map인 store 에 저장하는 구성)

public class MemoryMemberRepository implements MemberRepository{

    private static Map<Long, Member> store = new HashMap<>();
    private static Long sequence = 0L;
...

 

public class MemberService {
    MemoryMemberRepository memberRepository = new MemoryMemberRepository();

...

 

class MemberServiceTest {

    MemberService memberService = new MemberService();
    MemoryMemberRepository memberRepository = new MemoryMemberRepository();

 

 


DI 후 소스 : 

public class MemberService {
    private final MemoryMemberRepository memberRepository;

    public MemberService(MemoryMemberRepository memberRepository) {
        this.memberRepository = memberRepository;
    }

 

class MemberServiceTest {

    MemberService memberService;
    MemoryMemberRepository memberRepository;

    public void beforeEach(){
        this.memberRepository = new MemoryMemberRepository();
        this.memberService = new MemberService(memberRepository);
    }