이번에는 @EnableWebMvc 어노테이션과 WebMvcConfigurer 인터페이스에 대해 알아보도록 하자. 1. Spring에서 제공하는 설정의 자동화와 변경 [ @Enable~ 을 이용한 설정 자동화 ] Spring 기반의 프로젝트를 구축하려고 하면 우리는 메세지를 변환하는 메세지 컨버터나 뷰를 렌더링 하기 위한 뷰 리졸버 등을 일일이 설정해주어야 했다. 하지만 매번 프로젝트를 생성할 때마다 동일한 설정들을 하는 것은 개발자들에게 비용의 낭비였고, 그래서 스프링은 이러한 부분들에 대해 최신 전략들을 기반으로 설정을 자동화하는 기능을 제공하기 시작하였는데, 그것이 바로 @Enable~ 로 시작하는 어노테이션이다. @Enable로 시작하는 애노테이션을 @Configuration이 붙은 설정 클래스에 ..
아래의 내용은 토비의 스프링 2권 5장을 읽고 정리한 내용입니다. 1. Spring의 AOP 프록시 구현 방법(JDK Dynamic Proxy, CGLib Proxy) [ AOP에 대한 이해 ] AOP는 부가 기능을 핵심 기능으로부터 분리하기 위해 등장한 기술이다. 부가 기능을 분리함으로써 우리는 해당 로직을 재사용할 수 있고, 핵심 기능은 핵심 역할에만 집중할 수 있도록 도와준다. Spring의 AOP는 기본적으로 프록시 방식으로 동작하도록 되어 있는데, Spring에서 AOP를 활용하기 위해서는 @EnableAspectJAutoProxy 어노테이션을 붙여주어야 하며, 이에 대한 옵션으로 proxyTargetClass가 있다. 그리고 이 옵션을 주지 않으면 스프링 빈을 찾지 못하는 등의 에러가 발생할 ..
Spring으로 개발을 하다 보면 DTO 또는 객체를 검증해야 하는 경우가 있습니다. 이를 별도의 검증 클래스로 만들어 사용할 수 있지만 간단한 검증의 경우에는 JSR 표준을 이용해 간결하게 처리할 수 있습니다. 이번에는 객체의 검증을 손쉽게 하는 방법에 대해 알아보고자 합니다. 1. @Valid와 @Validated [ @Valid를 이용한 유효성 검증 ] @Valid의 개념 및 사용법 @Valid는 JSR-303 표준 스펙(자바 진영 스펙)으로써 빈 검증기(Bean Validator)를 이용해 객체의 제약 조건을 검증하도록 지시하는 어노테이션이다. JSR 표준의 빈 검증 기술의 특징은 객체의 필드에 달린 어노테이션으로 편리하게 검증을 한다는 것이다. Spring에서는 일종의 어댑터인 LocalVali..
Spring은 공통적으로 여러 작업을 처리함으로써 중복된 코드를 제거할 수 있도록 많은 기능들을 지원하고 있다. 이번에는 그 중에서 필터(Filter) vs 인터셉터(Interceptor)의 차이에 대해 알아보고자 한다. 또한 간략하게 인터셉터(Interceptor)와 AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)에 대해서도 비교해보고자 한다. 1. 필터(Filter) [ 필터(Filter)란? ] 필터(Filter)는 J2EE 표준 스펙 기능으로 디스패처 서블릿(Dispatcher Servlet)에 요청이 전달되기 전/후에 url 패턴에 맞는 모든 요청에 대해 부가작업을 처리할 수 있는 기능을 제공한다. 디스패처 서블릿은 스프링의 가장 앞단에 존재하는 프론트 컨트롤러..
요즘 개발자로 취업준비하려는 분들이 주변에 참 많이 보입니다. 심지어는 본인이 하고 있는 일을 그만두고 개발자로 전향하시는 분도 계시는데, 카페나 SNS 글을 보면 많이 고민하고 어려워하시는 것 같습니다. 물론 최근 개발자의 수요가 증가함에 따라 국비교육이나 온라인 강의 등의 내용도 상당히 많이 보이지만 정작 개발자가 되기 위해서는 어떻게 준비를 시작해야 하고 어떻게 준비를 하면 좋은지에 대한 정보는 부족해 보였습니다. 그래서 이번에는 신입 개발자로 취업하는데 도움이 될만한 내용들을 적어보고자 합니다. 신입 개발자로 취업하기 위해서는 크게 다음의 3가지 과정을 거쳐야 합니다. 자기소개서 코딩 테스트(알고리즘) 기술 면접 물론 임원 면접이나 컬쳐 면접 또는 인적성 등 회사마다 갖는 또 다른 전형들도 있습니..