Programming/Spring

Programming/Spring

[Spring MVC] API 계층

Controller 클래스 설계 및 구조 생성 API 계층은 클라이언트의 요청을 직접적으로 전달받는 계층 패키지 구조 생성 Spring Boot 기반 애플리케이션에서 주로 사용되는 Java 패키지 구조는 "기능 기반 패키지 구조"와 "계층 기반 패키지 구조" 2가지로 나뉜다. 기능 기반 패키지 구조(package-by-feature) 말 그대로 패키지를 애플리케이션에서 구현해야 하는 기능을 기준으로 패키지를 구성 기능 기반으로 나누어진 패키지 안에는 하나의 기능을 완성하기 위한 계층별(API계층, 서비스 계층, 데이터 액세스 계층) 클래스들이 모여있음. 계층 기반 패키지 구조(package-by-layer) 패키지를 하나의 계층(Layer)으로 보고 클래스들을 계층별로 묶어서 관리하는 구조 어떤 유형의 ..

Programming/Spring

[Spring Security] 권한 부여 처리 흐름

더보기 Authorization(인가, 권한 부여) 인증(Authentication) 과정이 정상적으로 수행된 사용자에게 하나 이상의 권한(Authority)을 부여하여 특정 애플리케이션의 특정 자원(Resource)에 접근할 수 있게 허가 하는 과정 Authorization은 반드시 인증 과정 이후 수행되어야 하며 권한은 일반적으로 역할(Role)의 형태로 부여 된다. Spring Security 권한 부여 처리 흐름 Spring Security 컴포넌트로 보는 권한 부여 처리 흐름 AuthorizationFilter는 SecurityContextHolder로부터 Authentication을 획득한다. SecurityContextHolder로부터 획득한 Suppier과 HttpServletRequest..

Programming/Spring

[Spring] Controller, Service, Repository

Controller Spring MVC 아키텍처에서 사용자의 요청을 처리하고, 애플리케이션의 흐름을 관리하는 역할 주요 역할 사용자의 요청 처리: 사용자가 애플리케이션에 요청한 내용을 수신하고, 해당 요청을 처리한다. 사용자가 웹 브라우저를 통해 HTTP 요청을 보낼 경우, Controller는 해당 요청을 수신하여 적절한 액션을 수행한다. 비즈니스 로직 호출: 비즈니스 로직을 처리하기 위해 Service 클래스나 다른 Model 계층의 컴포넌트를 호출한다. 사용자의 요청에 따라 필요한 데이터를 가져오고, 비즈니스 로직을 수행하여 결과를 생성한다. 뷰에게 모델 데이터 전달: 비즈니스 로직을 수행한 결과를 View에 전달하기 위해 모델 데이터를 생성하며 이를 통해 View는 사용자에게 데이터를 표시할 수 ..

Programming/Spring

[Spring] POJO(Plain Old Java Object)

POJO는 Spring에서 사용하는 핵심 개념들(IoC/DI, AOP, PSA)을 통해 달성할 수 있음을 의미한다. Spring은 POJO프로그래밍을 지향하는 Framework로 최대한 다른 환경이나 기술에 종속적이지 않도록 하기 위한 POJO 프로그래밍 코드를 작성하기 위해 Spring에서는 세 가지 기술을 지원하는데 그 세 가지 기술이 IoC/DI, AOP, PSA이다. POJO 배경 Spring Framework를 사용하기 전에는 원하는 특정 기술이 있다면 해당 기술을 직접적으로 사용하는 객체를 만들어 사용했는데 프로젝트가 규모가 커지고 필요한 기술들이 늘어나면서 특정 기술과 환경에 종속되는 경우가 빈번하게 발생하였다. 또한, 작성된 코드의 유지/보수가 어렵고 Java에서 상속의 특성상 이미 특정 ..

Smile :DK
'Programming/Spring' 카테고리의 글 목록