본문 바로가기

스프링4

[Spring] Filter, Interceptor 필터와 인터셉터는 컨트롤러가 호출되기 전 요청과 응답을 가로채서 공통 로직을 수행한다. 순서 Filter → Interceptor → AOP → Interceptor → Filter Filter 스프링 컨텍스트 외부(DispatcherServlet 앞 단)에서 request와 response의 해당하는 작업을 가로채어 공통 로직을 수행 웹 어플리케이션에서 전역적으로 처리해야 하는 로직을 구현 HTTP 요청과 응답을 변경할 수 있는 재사용이 가능한 코드 web.xml 또는 어노테이션으로 필터를 설정/매핑할 수 있다. method init(FilterConfig filterConfig) : 필터가 생성될 때 초기화 시 사용 doFilter(ServletRequest request, SevletResponse.. 2022. 2. 5.
[Spring] AOP(Aspected-Oriented Programming) AOP(Aspected-Oriented Programming) 스프링과 별개로 방법론이다. OOP는 사용자 관점에서의 주 업무 로직을 위주로 구현하는 것. 반면 AOP는 주 업무 로직을 구현함에 있어서 개발자나 운영자 및 관리자가 필요에 따라서 코드를 끼워 넣게 되는 부가적인 기능(ex. 로그 처리, 트렌젝션 등...)을 모듈화 하는 것. 즉, 사용자 관점, 개발자 관점, 운영자 관점, 등등..여러 관점들을 고려해서 로직을 분리하고 모듈화 하는 방법론이기 때문에 Aspected 관점 지향적 프로그램이 이라고 한다. Concern - Primary(Core) Concern & Cross-cutting concern primary(Core) Concern : 핵심 로직 Cross-cutting Concern.. 2022. 2. 5.
[Spring] 스프링이 빈 스코프를 싱클톤으로 만드는 이유 스프링 싱글톤 스프링은 여러 번에 걸쳐 빈을 요청하더라도 매번 동일한 오브젝트를 돌려준다. getBean() 메서드를 실행할 때마다 매번 new에 의해 새로운 오브젝트를 생성하지 않는다는 뜻 도대체 왜? 👩‍💻 싱글톤 레지스트리로서의 애플리케이션 컨텍스트 애플리케이션 컨텍스트? 싱글톤을 저장하고 관리하는 싱글톤 레지스트리이자 IoC 컨테이너이다. 스프링은 기본적으로 별다른 설정을 하지 않으면 생성하는 빈 오브젝트를 싱글톤으로 만든다. 💡 스프링이 빈을 싱글톤으로 만드는 이유 : 스프링이 주로 적용되는 대상이 자바 엔터프라이즈 기술을 사용하는 서버 환경이기 때문. 태생적으로 스프링은 엔터프라이즈 시스템을 위해 고안된 시스템. 실제로 대부분 스프링은 서버 환경에서 사용된다. 서버 하나당 브라우저나 여타 시스.. 2022. 1. 17.
[Spring]DI, IoC, SOLID 🚀 DI (Dependency Injection) : 의존성 주입 A라는 크래스에서 B라는 클래스를 필요로 할 때 A는 B의 의존성을 갖는다고 한다. 의존성 주입을 하면 프로그램 설계를 할 때 코드 재사용성이 향상된다. 객체간의 결합도가 낮아지면서 유연한 코드 작성 가능. 🚀 IoC (Inversion of Control) 제어의 반전이라는 뜻. 근데 why 제어의 반전? 기존 프로그래밍에서의 논리 흐름은, A클래스에서 B클래스를 호출하게 되면, A클래스를 생성하고, 그 다음으로 호출되는 B클래스 객체를 생성한다. 그러나 IoC 의 프로세스에서는 주입 객체로 정의되어있는 클래스들(B클래스)을 먼저 생성하고 그 다음에 호출하는 메인 클래스(A클래스)를 생성하기 때문에 이를 제어의 반전 또는 역행이라고 하는.. 2021. 12. 25.
반응형