본문 바로가기

DI2

JUnit5에서 의존성 주입은 @Autowired로 해야하는 이유

의존성을 주입받는 방식에는 4가지의 방법이 일반적으로 알려져 있습니다. 1. 생성자를 통해서 의존성을 주입 2. 필드를 통해서 의존성을 주입 3. setter를 통해서 의존성을 주입 4. lombok의 @RequiredArgsConstructor로 final이나 @NonNull의 필드를 의존성 주입 저는 주로 lombok의 @RequiredArgsConstructor를 통해서 final타입의 필드를 통해서 의존성을 주입받는 방법을 사용하고 있었습니다. 그런데, JUnit5으로 단위테스트를 작성하면서 lombok의 방식으로 DI를 시도했으나 의존성 주입에서 에러가 발생했습니다. 생성자를 통해서 DI하는 것도 에러가 발생했습니다. 자세히 상황을 말하자면, MockMvc를 주입받으려고 하자 에러가 발생했습니다.. 2020. 9. 10.

[백기선_Spring]DI

공부할 때 본 강의 https://www.youtube.com/watch?v=IVzYerodIyg&list=PLfI752FpVCS8_5t29DWnsrL9NudvKDAKY&index=8 Dependency Injection = 의존성 주입 의존성을 주입받는 방법 = 서로 다른 객체가 서로 참조하는 방법 의존성 주입에 사용되는 어노테이션 @Autowired - 생성자, 필드, Setter에 모두 사용이 가능합니다. @Inject 의존성 주입 방법은 3가지가 있다고 합니다. 1. 필드에 의존성을 주입한다. -@Autowired를 붙여줘야 합니다. - 주입받을 객체는 Bean으로 등록이 되어 있어야 합니다. - 각 객체가 서로 인스턴스를 만든 다음에 의존성을 주입할 수 있으므로, 상호참조하는 문제를 해결할 수 .. 2020. 7. 27.