Spring
-
필터 VS 인터셉터Spring 2023. 3. 9. 21:51
애플리케이션 로직에서 공통으로 처리해야 할 작업을 위한 기술을 알아보겠습니다. 로그인을 한 사용자인지 확인이 필요한 로직이 여러 요청에서 필요하다면 필터 또는 인터셉터를 이용해 처리할 수 있습니다. 필터 먼저 필터의 흐름을 보면 디스패처 서블릿 요청 전/후로 실행해 요청에 대한 공통적인 작업을 처리해 줍니다. 스프링에서 필터를 사용하기 위해 javax.servlet.Filter 인터페이스를 구현해주어야 합니다. init(), destroy() 메서드는 default 메서드이므로 doFilter() 메서드만 오버라이딩해도 됩니다. init() : 필터 초기화 메서드. 서블릿 컨테이너가 생성될 때 1회 호출함 doFilter() : 해당되는 url의 요청과 응답에 실행됨. 필터 로직 작성 destroy() ..
-
DI(Dependency Injection), IoC(Inversion of Control)Spring 2023. 2. 22. 20:38
의존성(Dependency)이란? 의존성이란 하나의 코드에서 다른 코드를 사용하는 것을 말합니다. 클래스 A에서 클래스 B를 사용할 때 A는 B에 의존적이라고 할 수 있습니다. public class A { B b = new B(); public A(){ ... } } 코드로 예를 들어보겠습니다. 아래 코드에서 Computer 클래스는 CPU 인터페이스를 의존하고 있습니다. 이 코드의 문제점은 추상 타입인 Cpu 인터페이스뿐만 아니라 구체 타입인 IntelCorei5 클래스에도 의존하고 있다는 것입니다. IntelCorei5 클래스가 변경이 되면 Computer 클래스에도 영향을 미치기 때문에 이런 의존성에는 문제가 있습니다. public class Computer { Cpu cpu = new Intel..