본문 바로가기

Java/Spring

Spring - 의존성 주입, Dependency Injection, DI 개념과 예시 코드 의존성 주입과 @Autowired 개념 이번 글에서는 의존성 주입(Dependency Injection)에 대하여 알아보겠습니다. 우선 의존성 주입이라는 용어의 의미를 풀어보면서 정확히 이해하는게 중요합니다. 의존성 스프링 컨테이너 안에서 빈의 존재에 대하여 생각해보겠습니다. 하나의 어플리케이션에 포함된 빈들은 독립된 상태로 존재하는 경우도 있지만 다른 빈들과 관계를 맺어야만 그 존재가 유효한 빈이 있습니다. 이렇게 홀로 존재할 수 없고 누군가 필요한 빈들은 의존하는 성격이 있다고 볼 수 있습니다. 예를 들어 컴퓨터 부품인 메인보드만으로는 제 기능을 할 수 없고 CPU와 RAM 등 부속품이 완전하게 갖춰져야 완전한 역할을 할 수 있는 경우와 같습니다. 의존성을 표현하는 방법은 바로 빈에 선언된 필드와 그.. 더보기
Spring Boot에서 컨트롤러를 간편하게 테스트하는 방법 (WebMvcTest와 Mock 활용하기) Spring 컨트롤러 테스트하기 Spring Boot에서는 MVC를 보다 쉽게 테스트할 수 있는 방법을 제공합니다. 저처럼 직접 URL을 호출하면서 응답 결과를 맨눈으로 검증하셨다면(!) 아래 내용에서 간편하고 효율적인 Spring Boot의 컨트롤러 테스트 방법을 확인해 보시길 바랍니다. @WebMvcTest를 사용하면 좋은 점과 반드시 써야하는 이유 WebMvcTest는 웹에서 우리가 구현한 컨트롤러가 문제가 없다는 것을 검증하는데 큰 도움을 줍니다. 웹상에서 요청과 응답에 대한 테스트를 직접 수행하기에는 어려움이 많기 때문입니다. Spring Security 요소나 Filter를 추가하거나 제거하는 기능을 제공합니다. 그리고 테스트를 원하는 컨트롤러와 관련된 설정과 요소들만 로드되기 때문에 @Spr.. 더보기