본문 바로가기

Spring23

[Spring] Filter (@Slf4j, @Order) Filter필터(Filter)는 HTTP 요청과 응답을 가로채어 처리할 수 있는 컴포넌트이다.  웹 애플리케이션에서 필터를 사용하면 요청을 처리하기 전이나 응답을 클라이언트에게  보내기 전에 특정 작업을 수행할 수 있다.   1. 필터의 기본 개념 정의 : 필터는 javax.servlet.Filter 인터페이스를 구현하는 Java 클래스이다. 역할 : 요청 전후에 작업을 수행하여 로깅, 인증, 인가, 요청 수정 등의 기능을 구현한다.  2. 필터의 주요 메서드 init(FilterConfig filterConfig) : 필터 초기화 시 호출된다. 초기화 작업을 수행한다. doFilter(ServletRequest request, ServletResponse response, FilterChain chai.. 2024. 10. 14.
[Spring] JWT JWT  JWT(자바스크립트 웹 토큰)는 사용자 인증 및 정보 교환을 위해 널리 사용되는 개방형 표준이다.   JWT의 구조 JWT는 세 부분으로 구성된다 : - 헤더 (Header) : 토큰의 유형(예: JWT)과 서명 알고리즘(예: HMAC SHA256)을 정의한다. - 페이로드 (Payload) : 사용자 정보 및 메타데이터를 포함한다. 이 부분은 클레임(claims)이라고 불리며, 일반적으로 사용자 ID, 역할, 만료 시간 등의 정보를 담는다. - 서명 (Signature): 헤더와 페이로드를 인코딩한 후, 비밀 키를 사용하여 서명한다. 이를 통해 데이터의 무결성을 보장한다. 각 부분은 JSON 형식으로 작성된 후, Base64Url로 인코딩되어 .으로 구분된 문자열로 결합된다. 예시: eyJhb.. 2024. 10. 10.
[Spring] 쿠키와 세션 쿠키 (Cookie)  * 정의 *쿠키는 클라이언트(주로 웹 브라우저)에 저장되는 소량의 데이터이다. 주로 HTTP 응답 헤더에 포함되어 클라이언트에게 전달되며, 이후 클라이언트는 요청 시 쿠키를 서버로 다시 전송한다.  * 특징 *1.  데이터 크기 제한 : 일반적으로 쿠키의 크기는 4KB로 제한된다. 이는 한 개의 쿠키에 대한 제한이며, 하나의 도메인에서 여러 개의 쿠키를 사용할 수 있다.  2. 만료 기간 : 쿠키는 두 가지 유형으로 나뉜다.- 세션 쿠키 : 브라우저가 닫힐 때까지 유지된다.- 영구 쿠키 : 설정된 만료 날짜가 지나기 전까지 유지된다.  3. 속성 설정 : 쿠키에는 다양한 속성을 설정할 수 있다.- Path : 쿠키가 유효한 URL 경로. - Domain : 쿠키가 유효한 도메인. .. 2024. 10. 8.
[Spring] JPA와 Entity JPA (Java Persistence API)와 Entity는 자바에서 데이터베이스와 상호작용하기 위한 ORM(Object-Relational Mapping) 기술의 핵심 개념이다.   [ JPA (Java Persistence API) ]  1. 개요JPA는 자바에서 객체를 관계형 데이터베이스에 영속화(persist)하기 위한 표준 API이다.ORM(Object-Relational Mapping) 기술을 통해 객체 지향 프로그래밍과 관계형 데이터베이스 간의 간극을 메워준다.JPA를 사용하면 SQL 쿼리를 직접 작성하는 대신, 자바 객체를 사용하여 데이터베이스 작업을 수행할 수 있다.2. 주요 기능CRUD 기능 : JPA는 Create, Read, Update, Delete 작업을 쉽게 수행할 수 있는.. 2024. 10. 7.
[Spring] IoC(제어의 역전), DI(의존성 주입) , Mock 객체 좋은 코드를 위한 IoC(제어의 역전), DI(의존성 주입) , Mock 객체  좋은 코드란? - 논리가 간단해야 한다.- 중복을 제거하고 표현을 명확하게 한다.- 코드를 처음보는 사람도 쉽게 이해하고 수정할 수 있어야 한다.- 의존성을 최소화해야 한다.- 새로운 기능을 추가 하더라도 크게 구조의 변경이 없어야 한다.  IoC(제어의 역전)와 DI(의존성 주입)는 스프링 프레임워크의 핵심 개념으로, 애플리케이션의 구성과 객체 생성을 관리하는 방식이자 좋은 코드 작성을 위한 Spring의 핵심 기술 중 하나라고 할 수 있다. 이 두 가지 개념은 스프링이 제공하는 유연성과 테스트 용이성을 높이는 데 중요한 역할을 한다.   [ IoC(제어의 역전) ] IoC는 애플리케이션의 제어 흐름을 개발자가 아닌 프레임.. 2024. 10. 6.
[Spring] 3 Layer Architecture, 역할 분리하기 1. 프레젠테이션 계층 (Presentation Layer, Controller) :  프레젠테이션 계층은 컨트롤러로 구성되어 있다  역할 : 사용자 요청을 수신하고, 적절한 [서비스 계층에 요청을 전달]하는 역할을 한다. 요청에 대한 응답을 생성하여 사용자에게 반환한다. 책임 : URL 매핑을 처리하고, HTTP 요청 및 응답을 관리하며, 뷰를 반환하거나 REST API의 JSON 응답을 생성한다.웹 페이지, REST API 등이 이 계층에 포함된다.  2. 비즈니스 계층 (Business Layer, Service):비즈니스 계층은 서비스로 구성되어 있다. 이 계층에서는 비즈니스 로직을 구현하고, 다양한 데이터 조작 및 처리를 수행한다. 역할 : 애플리케이션의 비즈니스 로직을 구현한다. 사용자 요청을.. 2024. 10. 4.
728x90
반응형