728x90
반응형
SMALL

DI 4

DI를 하지 않았을 때 NullPointerException 발생 이유

이 게시글은 이동욱 - "스프링 부트와 AWS로 혼자 구현하는 웹 서비스" 에서 참고하였습니다. 위 책을 참고하여 JUnit 에서 값을 등록하는 테스트를 만들어보았습니다. 문제 상황 JUnit 을 수행하는 과정에서 posts api 까지 정상적으로 값이 전달되지만 NullPointerException 에러가 발생 ■ PostsApiControllerTest.java @Test public void Posts_등록된다() throws Exception { //given String title = "title"; String content = "content"; PostsSaveRequestDto requestDto = PostsSaveRequestDto.builder() .title(title) .cont..

개발지식 2024.03.22

[SPRING] DI(Dependency Injection) 의존관계 주입 2탄!

DI 를 공부하던 중 깨달음을 얻고 더 적절한 예시와 설명을 하기위해서 추가로 작성해봅니다 ㅎㅎ DI, 의존관계 주입이란 Dependency Injection은 의존성 주입이라고도 하며, 객체 간의 의존성을 외부에서 주입하여 결합도를 낮추고 유연한 코드를 작성하는 방법입니다. 말 그대로 메서드 안에 파라미터값을 통해 필요한 메서드나 데이터들을 추가하여 사용하는 것으로 이해하면 편합니다! 바로 예시를 들어가보겠습니다 우선 DI를 사용하지 않는 경우입니다 public class UserServiceImpl implements UserService { private UserRepository userRepository = new UserRepositoryImpl(); public void addUser(Use..

개발지식 2024.02.15

[SPRING] DI(Dependency Injection) 의존관계 주입, DI 컨테이너

DI 의존관계 주입 객체 간의 의존성을 외부에서 주입하여 결합도를 낮추고 유연한 코드를 작성하는 방법입니다! DI(Dependency Injection) 는 객체 간의 의존 관계를 외부에서 결정하여 객체가 필요한 의존성을 주입받는 개념입니다. DI 를 통해 객체 간의 결합도를 낮출 수 있고, 코드의 재사용성과 테스트 용이성을 높일 수 있습니다. DI 는 주로 생성자, 메서드 매개변수, 속성에 의해 의존성을 주입하며, 의존성을 관리하는 컨테이너를 활용하여 객체의 생성과 관리를 담당합니다. 이를 통해 유연하고 확장 가능한 애플리케이션을 개발할 수 있습니다! 스프링 DI를 코드 예시를 통해 확인을 해보자! public interface MessageService { void sendMessage(String ..

개발지식 2024.02.05

[Spring] Spring의 삼각관계 IOC와 DI, 그리고 AOP...

GPT-4가 말하길 스프링의 3대 핵심 개념은 DI, IOC, AOP 이다! 그러므로 우리는 서로 얽히고 설킨 IOC와 DI, 그리고 AOP에 대해 알아보자 (그리고 추가로 어떤 순서로 공부하는게 좋은지도 물어봄) 여기 게시글에서는 IOC와 DI, AOP의 각각 연관성에 대해 설명하고 하나하나 별도의 게시글로 상세 내용을 다루겠습니다! IOC(Inversion of Control) 는 객체의 생성과 생명주기 관리를 개발자가 아닌 Spring 컨테이너가 담당하는 프로그래밍 기법입니다. IOC는 개발자가 직접 객체를 생성하고 참조하는 것이 아닌 Spring 컨테이너가 알아서 처리하도록 합니다. DI(Dependency Injection) 는 객체 간의 의존성을 외부에서 주입받는 방식을 의미합니다. IOC C..

개발지식 2024.02.04
728x90
반응형
LIST