1

Spring Security

  Spring Security는 Spring 생태계에서 인증(Authentication)과 인가(Authorization) 기능을 제공하는 강력한 프레임워크입니다. 애플리케이션의 보안 요구사항을 유연하게 구현할 수 있도록 지원합니다. 주요 특징은 다음과 같습니다   인증 및 인가: Spring Security는 다양한 인증 방식(폼 인증, 기본 인증, OAuth, SAML 등)을 지원하고, 역할 기반 접근 제어, 도메인 객체 보안, ACL 등 다양한 인가 전략을 제공합니다. 보안 필터 체인:
Spring Boot

Spring Boot

  Spring Boot는 Spring 기반 애플리케이션 개발을 간소화하기 위한 프로젝트입니다. Spring Boot는 “큰 신경 쓰지 않고도 단순히 실행되는 Spring 기반 애플리케이션을 만들 수 있게 해주는 것”을 목표로 합니다. 주요 특징은 다음과 같습니다:   자동 구성(Auto-Configuration): Spring Boot는 클래스 경로에 존재하는 라이브러리와 설정을 자동으로 탐지하고, 일반적으로 필요한 구성을 자동으로 제공합니다. 이를 통해 개발자는 불필요한 설정 없이
Spring MVC

Spring MVC

  Spring MVC는 Spring Framework의 웹 애플리케이션 개발을 위한 모듈로, MVC(Model-View-Controller) 아키텍처 패턴을 기반으로 합니다. Spring MVC는 웹 요청의 처리, 데이터 바인딩, 뷰 렌더링 등의 기능을 제공하여 웹 개발을 단순화하고 구조화합니다.   1. Spring MVC 아키텍처 Spring MVC의 주요 구성 요소는 다음과 같습니다. DispatcherServlet: 모든 HTTP 요청을 받아 처리하는 중앙 컨트롤러입니다. HandlerMapping: 요청 URL과 매핑되는
AspectJ3

AOP(Aspect-Oriented Programming)

  AOP(Aspect-Oriented Programming)는 객체지향 프로그래밍(OOP)을 보완하는 프로그래밍 패러다임으로, 횡단 관심사(Cross-cutting Concerns)를 모듈화하여 코드의 중복을 줄이고 유지보수성을 향상시키는 것을 목표로 합니다. Spring Framework에서는 AOP를 핵심 기능 중 하나로 제공하고 있습니다.   1. AOP 주요 개념 애스펙트(Aspect): 횡단 관심사를 모듈화한 것으로, advice와 pointcut을 포함합니다. 어드바이스(Advice): 특정 조인 포인트에서 실행되는 코드입니다. 조인 포인트(Join Point): 어드바이스가 적용될 수 있는
Spring IoC

IoC 컨테이너와 DI

  IoC(Inversion of Control) 컨테이너와 DI(Dependency Injection)는 Spring Framework의 핵심 개념으로, 객체 간의 의존성을 관리하고 애플리케이션의 구조를 개선하는 데 도움을 줍니다.   1. IoC(Inversion of Control) IoC는 객체의 생성, 구성, 생명주기 관리 등의 제어권을 개발자로부터 프레임워크(컨테이너)로 이전하는 것을 의미합니다. 이를 통해 개발자는 객체 간의 의존성을 직접 관리하지 않고, 프레임워크가 대신 관리하도록 합니다. IoC의 주요 장점은
Spring Framework1

Spring Framework

  Spring Framework는 Java 애플리케이션 개발을 위한 포괄적인 프로그래밍 및 구성 모델을 제공하는 오픈소스 프레임워크입니다. Spring은 엔터프라이즈 애플리케이션 개발을 간소화하고 효율적으로 만드는 것을 목표로 합니다.   1. Spring Framework의 핵심 기능 의존성 주입(Dependency Injection, DI): 객체 간의 의존성을 관리하고 느슨한 결합을 촉진합니다. 관점 지향 프로그래밍(Aspect-Oriented Programming, AOP): 로깅, 트랜잭션 관리 등의 횡단 관심사를 모듈화합니다. MVC(Model-View-Controller)
인가1

웹 보안(인증과 인가)

  웹 애플리케이션에서 보안은 매우 중요한 요소입니다. 인증(Authentication)과 인가(Authorization)는 웹 보안의 핵심 개념으로, 사용자의 신원을 확인하고 접근 권한을 제어하는 데 사용됩니다.   1. 인증(Authentication) 인증은 사용자의 신원을 확인하는 과정입니다. 웹 애플리케이션에서는 일반적으로 사용자 이름과 비밀번호를 사용하여 인증을 수행합니다. 인증 방식 Form 기반 인증: 사용자가 로그인 폼에 사용자 이름과 비밀번호를 입력하여 인증합니다. Basic 인증: HTTP 프로토콜에서
Web

필터와 리스너

  필터(Filter)와 리스너(Listener)는 Java Servlet API에서 제공하는 기능으로, 웹 애플리케이션의 요청과 응답을 가로채거나 이벤트를 처리하는 데 사용됩니다.   1. 필터(Filter) 필터는 요청과 응답을 변경하거나 처리할 수 있는 자바 클래스입니다. 필터는 요청이 서블릿이나 JSP에 도달하기 전에 요청을 가로채고, 응답이 클라이언트에 전송되기 전에 응답을 가로챕니다. 필터의 특징 요청과 응답을 변경하거나 처리할 수 있습니다. 체인 형태로 여러 개의
https

세션과 쿠키

  세션과 쿠키는 웹 애플리케이션에서 사용자의 상태 정보를 유지하기 위해 사용되는 기술입니다. 이들은 HTTP의 무상태성(statelessness)을 보완하여 사용자 친화적인 웹 서비스를 제공하는 데 도움을 줍니다.   1. 쿠키(Cookie) 쿠키는 웹 서버가 사용자의 브라우저에 저장하는 작은 텍스트 파일입니다. 쿠키는 사용자의 브라우저에 저장되므로 서버의 부담을 줄일 수 있습니다. 쿠키의 특징 이름, 값, 만료 시간, 도메인, 경로 등의 정보를
MVC 아키텍처

MVC 아키텍처

  MVC(Model-View-Controller) 아키텍처는 소프트웨어 디자인 패턴 중 하나로, 애플리케이션을 세 가지 주요 컴포넌트로 구분하여 개발하는 방식입니다. 컴포넌트 설명 Model 애플리케이션의 데이터와 비즈니스 로직을 캡슐화합니다. 데이터베이스 액세스, 데이터 유효성 검사 등의 작업을 수행합니다. View 사용자 인터페이스를 표현합니다. Model의 데이터를 기반으로 UI를 렌더링합니다. Controller 클라이언트의 요청을 처리하고 Model과 View를 연결하는 역할을 합니다. 사용자 입력을 받아 Model을 업데이트하고,