슬픈강낭콩
[DI] Dependency Injection 본문
Test에서 하는 MemberRepository 인스턴스는 MemberService 클래스와 MemberServiceTest 클래스에서 사용하는 MemberRepository는 서로 다른 객체인데 이럴때 두개의 새로운 인스턴스를 쓰면 오류가 발생할 수 있기때문에 두개를 만들 이유가 없고 한개로 쓰는게 좋기때문에 다음과 같이 해결한다.
작동방식
1. @BeforeEach는 각 Test 메서드를 시작하기전에 실행된다.
2. MemberServiceTest 클래스에서 beforeEach가 먼저 실행되어서 memberRepopsitory가 실행되고
3. MemberService에서 생성자로 memberRepopsitory를 this로 받아서 두 클래스에서 같은 인스턴스를 가르키게 되어서 두 클래스가 같은 인스턴스를 사용하게 된다.
*MemberService에서 직접 new하지않고 외부에서 memberRepopsitory를 받아서 사용한다.
'프로그래밍 > spring' 카테고리의 다른 글
redirect시 데이터 전달하는 방법 - RedirectAttributes (0) | 2023.05.30 |
---|---|
Failed to create Gitgub repository 오류 (0) | 2023.04.12 |
정적 컨텐츠와 동적 컨텐츠 (0) | 2023.01.11 |
인텔리 제이 자바 단축기 (4) | 2023.01.11 |
스프링 빌드하고 .jar 배포하기 (0) | 2023.01.09 |