Spring 3

[Spring] HandlerMethodArgumentResolver

🤍 HandlerMethodArgumentResolver 인터페이스Spring MVC에서 컨트롤러 메소드의 매개변수를 동적으로 바인딩하기 위해 사용되는 인터페이스입니다.  🤍 사용 목적Spring MVC는 HTTP 요청이 컨트롤러로 들어올 때, 요청 데이터를 기반으로 컨트롤러 메서드의 매개변수를 생성하고 주입하는데, 이 과정에서 기본 제공되는 바인딩 로직 외에 사용자 정의 로직을 추가하고 싶을 때 이 인터페이스를 사용합니다. 간단히 말해서, 지원하지 않는 매개변수 바인딩 로직을 구현하기 위해 사용됩니다. 🤍 주요 메소드1. supportsParameter(MethodParameter parameter)특정 매개변수가 이 리졸버에 의해 처리될지 결정한다true 반환 시, 해당 매개변수는 이 리졸버에서..

[Spring] 스프링의 Collection Injection

🤍 Collection Injection스프링은 자동으로 타입에 맞는 Bean을 찾아서 주입해주는 기능이 있다. Map와 같이 Map으로 선언하면 AbstractTemplate의 구현체들을 모두 찾아서 key값으로 구현체의 빈 이름을, value 값으로 구현 객체를 담아 주입해준다. List도 마찬가지다. AbstractTemplate의 구현체들을 List에 담아 주입해준다. 이것을 Collection Injection 이라고 한다.  🤍 트러블 슈팅문제상황 AbstractOAuthTemplate의 구현체들을스프링 빈으로 등록 후 Map에 추가하여"naver"와 "kakao"라는 문자열을 받으면 구현객체를 반환하고자 함 그러나 Service코드에서 "naver"를 받으면 null 값을 반환함.  원인..

[Spring] Mock 테스트

🤍소프트웨어 테스트1. TDD (Test-driven development)개발 전 테스트 코드를 먼저 작성하는 방식을 의미한다. 2. 왜 TDD를 사용해야 할까?테스트를 잘 작성하기 위해선,  모든 요구 사항에 대한 철저한 점검이 필요하기 떄문이다!시스템 전반적인 설계 향상개발 집중력 향상3. 테스트 종류테스트 종류범위 대상속도도구/기법단위 테스트작은 단위(메소드, 클래스)개별 로직빠름JUnit, Mockito 통합 테스트모듈 간 상호작용여러 모듈(컨트롤러 - 서비스 등)보통Spring Boot Test시스템 테스트애플리케이션 전체애플리케이션 전체느림  1. 단위테스트(Unit Test)개별 메소드, 클래스 등 작은 단위가 예상대로 동작하는지 검증가장 작은 테스트 단위Mock 객체를 활용해 외부 의존..

반응형