본문 바로가기

Spring

(2)
[Spring] HandlerMethodArgumentResolver 사용하여 Custom Annotation 구현 및 테스트하기 HandlerMethodArgumentResolver 를 이용하여 Custom Annotion 을 만들어 User 정보를 쉽게 가져오기 회원을 관리하는 API 를 만들게 되면 꼭 필요로 하게 되는 것이 HandlerInterceptorAdapter 를 이용하여 HttpServletRequest 에 정보를 저장하여 사용자 정보 필요로 하는 Controller 에서 꺼내여 사용하는 방식입니다. 만약, HttpServletRequest 을 사용하지 않고 static 변수나 공유 가능한 변수 형태로 사용하게 된다면 Thread safe 하지 않기 때문에 Multi-thread 환경에서는 다른 사용자의 정보를 노출하게 되는 위험한 상황을 만들 수 있습니다. 하지만, 매번 API 에서 HttpServletReque..
[JUnit] Test code 작성시 DI(Dependencies Inject) 를 적용하는 방법 Spring boot 에서 테스트 코드를 작성할 때, 고민되는 것 중 하나가 의존성 문제 해결입니다. 한 Service 가 다른 Service 를 의존하여 실행되거나, Controller 가 Service 를 의존하거나, Mybatis 를 사용하는 경우 Service 에서 Mapper 를 의존하는 경우가 대부분입니다. 이럴 때, 어떤 의존성을 가지냐와 서로가 어떻게 실행될 것인지에 대해서 의존성을 달리 주입할 필요가 있습니다. DI 와 IOC 에 관해서 궁금하신분은 아래 velog를 참고 부탁드립니다. 직관적으로 설명이 잘되어있습니다. IoC? DIP? IoC Container? DI? DI Framework? 도대체 그게 뭔데? Mapper Spring boot 에서 RDBS 를 사용하여 MVC 구조에..