![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cjsq60/btrzjoZ0qcq/EDsLOVpZNcmFu6prkzALFk/img.png)
Spring은 공통적으로 여러 작업을 처리함으로써 중복된 코드를 제거할 수 있도록 많은 기능들을 지원하고 있다. 이번에는 그 중에서 필터(Filter) vs 인터셉터(Interceptor)의 차이에 대해 알아보고자 한다. 또한 간략하게 인터셉터(Interceptor)와 AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)에 대해서도 비교해보고자 한다. 1. 필터(Filter)[ 필터(Filter)란? ]필터(Filter)는 J2EE 표준 스펙 기능으로 디스패처 서블릿(Dispatcher Servlet)에 요청이 전달되기 전/후에 url 패턴에 맞는 모든 요청에 대해 부가작업을 처리할 수 있는 기능을 제공한다. 디스패처 서블릿은 스프링의 가장 앞단에 존재하는 프론트 컨트롤러..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/qtxoP/btq9hzUHA5R/5loSjUh2IIQOdN93f2u1Yk/img.png)
요즘 개발자로 취업준비하려는 분들이 주변에 참 많이 보입니다. 심지어는 본인이 하고 있는 일을 그만두고 개발자로 전향하시는 분도 계시는데, 카페나 SNS 글을 보면 많이 고민하고 어려워하시는 것 같습니다. 물론 최근 개발자의 수요가 증가함에 따라 국비교육이나 온라인 강의 등의 내용도 상당히 많이 보이지만 정작 개발자가 되기 위해서는 어떻게 준비를 시작해야 하고 어떻게 준비를 하면 좋은지에 대한 정보는 부족해 보였습니다. 그래서 이번에는 신입 개발자로 취업하는데 도움이 될만한 내용들을 적어보고자 합니다. 신입 개발자로 취업하기 위해서는 크게 다음의 3가지 과정을 거쳐야 합니다. 자기소개서 코딩 테스트(알고리즘) 기술 면접 물론 임원 면접이나 컬쳐 면접 또는 인적성 등 회사마다 갖는 또 다른 전형들도 있습니..
1. @Transactional 어노테이션(선언적 트랜잭션) [ @Transactional 어노테이션 ] Spring에서는 클래스나 인터페이스 또는 메소드에 부여할 수 있는 @Transactional이라는 어노테이션을 제공하고 있다. 이 어노테이션이 붙으면 스프링은 해당 타깃을 포인트 컷의 대상으로 자동 등록하며 트랜잭션 관리 대상이 된다. 즉, 이 어노테이션을 통해 포인트 컷에 등록하고 트랜잭션 속성을 부여하는 것이다. 이렇듯 AOP를 이용해 코드 외부에서 트랜잭션의 기능을 부여해주고 속성을 지정할 수 있게 해주는 것을 선언적 트랜잭션(declarative transaction)이라고 한다. 반대로 TrnasactionTemplate이나 개별 데이터 기술의 트랜잭션 API를 이용해 직접 코드안에서 사용..
아래의 내용은 토비의 스프링의 2권 2장을 참고해서 작성하였습니다. 1. Spring 트랜잭션의 세부 설정(전파 속성, 격리수준, 읽기전용, 롤백/커밋 예외 등) [ 전파 속성(Propagation) ] Spring이 제공하는 선언적 트랜잭션(트랜잭션 어노테이션, @Transactional)의 장점 중 하나는 여러 트랜잭션 적용 범위를 묶어서 커다란 하나의 트랜잭션 경계를 만들 수 있다는 점이다. 우리는 Spring이 트랜잭션을 어떻게 진행시킬지 결정하도록 전파 속성을 전달해야 하는데, 이를 통해 새로운 트랜잭션을 시작할지 또는 기존의 트랜잭션에 참여할지 등을 결정하게 된다. Spring이 지원하는 전파 속성은 다음의 7가지가 있다. REQUIRED SUPPORTS MANDATORY REQUIRES_NE..
1. 빈을 찾기 위한 다양한 의존성 검색 방법, DL(Dependency LookUp) Spring으로 개발을 하다보면 의존성을 주입(DI, Dependency Injection) 받는 것 뿐만 아니라 의존성을 갖는 빈을 검색(DL, Dependency LookUp)해야 할 때가 있다. 예를 들어 프로토타입 스코프의 빈을 이용해야 하는 경우가 대표적이다. Spring에서는 빈을 검색하기 위한 다양한 방법들을 제공하는데, 크게 5가지가 있다. [ ApplicationContext를 이용한 방법 ] Spring에서는 빈 팩토리를 구현한 DI 컨테이너인 ApplicationContext를 관리하고 있다. 그래서 우리는 ApplicationContext를 통해서 필요로 하는 빈을 다음과 같이 검색할 수 있다. ..