본문 바로가기

Spring Framework

(11)
[Spring Security] Servlet 기반 어플리케이션 보안의 개요 - FilterChain 개요이 글은 Spring Security 6.4.3을 기반으로 작성되었습니다.  스프링 시큐리티의 Servlet 지원은 Servlet 필터(Filter) 위에서 동작합니다.따라서 필터가 뭔지 아는 것이 먼저입니다. 위의 이미지는 하나의 HTTP request에 대해서 어떻게 처리하는 지 보여줍니다. 만약 클라이언트(Clinet)가 request를 하나 보내면, container에서는 FilterChain을 생성합니다.이 FilterChain에는 여러 개의 Filter들과 하나의 Servlet이 포함되어 있습니다. Spring MVC 어플리케이션에서는 주로 DispatcherServlet의 객체가 Servlet이 됩니다.  이 그림에서 중요한 건 두 가지입니다.첫째, 대부분의 경우 1개의 Servlet이 ..
[Logging] SLF4J에 대해서 개요SLF4J(Simple Logging Facade for Java)는 이름의 Facade에서 알 수 있듯이간단한 퍼사드 패턴을 로깅에 적용한 시스템으로 로깅 추상화 라이브러리이다.퍼사드 패턴?퍼사드 패턴(Facade Pattern)은 구조 패턴(Structural Pattern)의 한 종류로써, 복잡한 서브 클래스들의 공통적인 기능을 정의하는 상위 수준의 인터페이스를 제공하는 패턴이다. java.util.logging, logback, log4j 등 다양한 로깅 프레임워크에 대해서 추상화 역할을 하는 인터페이스이다.위의 로깅 프레임워크를 구현체, SLF4J를 인터페이스로 생각하면 이해하기 쉽다. 때문에 SLF4J는 반드시 구현체를 필요로 하게 된다.    SLF4J 기본 구성 요소1. SLF4J AP..
[Spring Boot] Jar vs War 배포 방법 비교 개요스프링부트를 사용하는 https://start.spring.io 에 들어가보면 Packaging 방식이 Jar과 War 두 가지로 구분되는 것을 확인할 수 있습니다. 두 가지 방식의 차이점이 궁금해져서 이 포스트를 시작하게 되었습니다.  핵심 개념기본적으로 JAR, WAR 모두 java의 jar 옵션을 이용해 생성된 압축(아카이브)파일이며,애플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일(리소스, 속성 파일 등)을 패키징한 것이다.  1. JAR(Java Archive)Java Application이 동작할 수 있도록 자바 프로젝트를 압축한 파일라이브러리, 리소스, 보조 파일(property files)을 포함JRE(Java Runtime Enviornment)만 있어도 실행 가능스프링 부트..