본문 바로가기

스프링

Spring Security SessionDestroyListener 스프링 시큐리티에서 세션 디스트로이 이벤트 전후작업 하기. 사용자가 로그아웃할때, 로그를 남겨야한다는 요구사항이 들어왔다. 사용자가 로그아웃 버튼을 클릭해서 로그아웃을 하면, SimpleUrlLogoutSuccessHandler를 상속받아 onLogoutSuccess 메서드를 구현해서 처리할 수 있다. @Override public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException { // 전 작업 super.onLogoutSuccess(request, response, authenticatio.. 더보기
Aspect 어노테이션 사용을 위한 설정. 스프링에서 Aspect 어노테이션을 사용하기 위해서는 아래와 같은 XML 설정이 필요하다. 더보기
스프링 AOP의 주요 용어 AOP는 Aspect Oriented Programming의 약자로 우리말로는 관점 지향 프로그래밍이라고 한다. 여러 객체에 공통으로 적용할 수 있는 기능을 구분함으로, 재사용성을 높여주는 프로그래밍 기법이라고 한다. AOP의 주요 용어는 아래와 같다. 아래 내용은 초보 웹 개발자를 위한 Spring4 프로그래밍 입문 에서 발췌하였다. 용어 의미 Joinpoint Advice를 적용 가능한 지점. 메서드 호출, 필드 값 변경 등이 Joinpoint에 해당한다. 스프링은 프록시를 이용해서 AOP를 구현하기 때문에 메서드 호출에 대한 Joinpoint만 지원한다. Pointcut Joinpoint의 부분 집합으로서 실제로 Advice가 적용되는 Joinpoint를 나타낸다. 스프링에서는 정규 표현식이나 As.. 더보기
스프링 Bean 객체의 초기화 및 소멸시 호출 메서드 스프링의 컨테이너가 Bean 객체의 초기화와 소멸에 따라 지정된 메서드를 호출 하는데.. 아래의 두가지 인터페이스에서 이 메서드를 정의 하고 있다. org.springframework.beans.factory.InitializingBean org.springframework.beans.factory.DisposableBean 만약 Bean 객체의 초기화 및 소멸 과정에 실행하고 싶은 작업이 있다면, 아래와 같이 InitializingBean과 DisposableBean을 구현하고, afterProperiesSet 메서드와 destroy메서드를 구현하면 된다. public class Bean implements InitializingBean, DisposableBean { ... @Override publ.. 더보기
스프링 XML 설정에서 자바 설정 Import하기 스프링에서는 XML을 이용한 설정과, Java Class를 이용한 설정을 둘 다 지원 한다. 이때, 설정 XML에서 Java Config Class를 참조 할 수 있는데. 설정 XML에 아래와 같이 태그를 추가하면 된다. 본 포스팅의 내용은 초보 웹 개발자를 위한 스프링4 프로그래밍 입문을 참고하여 작성하였습니다. 더보기
스프링 @Autowired와 @Qualifier 사용법 스프링은 @Autowired 어노테이션을 통한 자동 주입을 지원한다. 아래와 같이 동일한 타입의 Bean이 두개이상 존재할 경우, 초기화 과정에서 익셉션이 발생한다. 스프링은 이런 문제를 해결하기 위해서 @Qualifier 어노테이션을 제공한다. 사용법은 아래와 같다. public class autowiredTargetClass { @Autowired @Qualifier("autowiredClass1") public void setAutowired(AutowiredClass autowiredClass) { .... } } 더보기
스프링 MVC의 주요 구성 요소 및 처리 흐름 스프링 프레임워크는 DI나 AOP와 같은 기능뿐만 아니라 기본적으로 웹 개발을 위한 MVC 프레임워크도 함께 제공하고 있다. 스프링MVC는 스프링을 기반으로 하고 있기 때문에 스프링에서 제공하는 기능을등을 손쉽게 사용할 수있다는 장점을 갖는다.또 다른 종류의 프레임워크와 연동하는 수고를 하지 않아도 되는것도 장점중 하나다. * 스프링 MVC의 주요 구성 요소 DispatcherServlet 클라이언트의 요청을 전달 받는다. 컨트롤러에게 클라이언트의 요청을 전달하고 컨트롤러가 리턴한 결과 값 View에 전달하여 알맞은 응답을 생성하도록 한다. HandlerMapping 클라이언트의 요청 URL을 어떤 컨트롤러가 처리할지를 결정한다. Controller 클라이언트의 요청을 처리한 뒤, 그 결과를 Dispat.. 더보기