Java/Spring
-
✅ RequestMatcherSpring Security 에서 요청을 필터링하거나 특정 요청에 대한 보안 정책(인가, 인증 등) 을 매칭할 때 사용하는 핵심 인터페이스 중 하나이다.👉 org.springframework.security.web.util.matcher.RequestMatcher 기본적으로 Spring Security 6버전에서는 requestMatcher 를 이용한 URL 매칭을 한다.@Beanpublic SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .authorizeHttpRequests(authorize -> authorize .requestMatchers( "/error" ..
Spring Security RequestMatcher 와 CustomFilter 를 이용한 특정 URL 체크하기✅ RequestMatcherSpring Security 에서 요청을 필터링하거나 특정 요청에 대한 보안 정책(인가, 인증 등) 을 매칭할 때 사용하는 핵심 인터페이스 중 하나이다.👉 org.springframework.security.web.util.matcher.RequestMatcher 기본적으로 Spring Security 6버전에서는 requestMatcher 를 이용한 URL 매칭을 한다.@Beanpublic SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .authorizeHttpRequests(authorize -> authorize .requestMatchers( "/error" ..
2025.11.14 -
RequestMatchersSpring Security 에서 요청을 필터링하거나 특정 요청에 대한 보안 정책(인가, 인증 등) 을 매칭할 때 사용하는핵심 인터페이스 중 하나이다.👉 org.springframework.security.web.util.matcher.RequestMatcher 🔍 RequestMatcher 개요RequestMatcher 는 HTTP 요청(HttpServletRequest) 이 특정 조건과 일치하는지 여부를 판단하기 위한전략(Strategy) 인터페이스다.public interface RequestMatcher { boolean matches(HttpServletRequest request);} 들어온 요청이 "이 URL, 이 메서드, 이 헤더 조건에 맞는가?" 를..
Spring Security RequestMatcher InterfaceRequestMatchersSpring Security 에서 요청을 필터링하거나 특정 요청에 대한 보안 정책(인가, 인증 등) 을 매칭할 때 사용하는핵심 인터페이스 중 하나이다.👉 org.springframework.security.web.util.matcher.RequestMatcher 🔍 RequestMatcher 개요RequestMatcher 는 HTTP 요청(HttpServletRequest) 이 특정 조건과 일치하는지 여부를 판단하기 위한전략(Strategy) 인터페이스다.public interface RequestMatcher { boolean matches(HttpServletRequest request);} 들어온 요청이 "이 URL, 이 메서드, 이 헤더 조건에 맞는가?" 를..
2025.11.12 -
Spring Security 5 버전에서 6 버전으로 넘어가면서 바뀐점이 많다.그 중 HTTP 요청에 대한 URL 매칭하는 함수가 달라졌다. antMatchers()기능 : Apache Ant 의 와일드 카드를 사용하여 URL 을 매칭한다.사용http .authorizeRequests() .antMatchers("/admin/**").hasRole("ADMIN") .antMatchers("/public/**").permitAll(); 특징 : 단순하고 직관적, URL 패턴 매칭에 최적화되어 있다. requestMatchers()기능 : 더 유연한 매칭 함수로, URL 뿐만 아니라 HTTP 메서드, 요청 파라미터 등 조건 추가 가능하다.사용http .authorizeHttpRequests(a..
Spring Security antMatchers(5.x 버전) 과 requestMatchers(6 버전) 의 차이Spring Security 5 버전에서 6 버전으로 넘어가면서 바뀐점이 많다.그 중 HTTP 요청에 대한 URL 매칭하는 함수가 달라졌다. antMatchers()기능 : Apache Ant 의 와일드 카드를 사용하여 URL 을 매칭한다.사용http .authorizeRequests() .antMatchers("/admin/**").hasRole("ADMIN") .antMatchers("/public/**").permitAll(); 특징 : 단순하고 직관적, URL 패턴 매칭에 최적화되어 있다. requestMatchers()기능 : 더 유연한 매칭 함수로, URL 뿐만 아니라 HTTP 메서드, 요청 파라미터 등 조건 추가 가능하다.사용http .authorizeHttpRequests(a..
2025.11.12 -
Spring 핵심 메커니즘 중 하나인 트랜잭션 관리는 Spring Boot 를 사용하고 있으면 대부분내부적으로 선언적 트랜잭션 관리를 사용하고 있다. 💡 트랜잭션(Transaction) 이란? 트랜잭션은 데이터베이스의 상태를 변경하는 하나의 논리적 작업 단위를 말한다.즉, 여러 SQL 작업이 있을 때 모두 성공하거나(all or nothing) 모두 실패해야 하는 원자적 단위이다. ✅ 예시 1. 계좌 A → 계좌 B 로 10만원 송금 - A 계좌 잔액 10만원 감소 - B 계좌 잔액 10만원 증가 이 두 SQL 중 하나라도 실패하면, 전체 작업이 취소되어야 함 → 이것이 트랜잭션의 역할입니다.쉽게 말해, 한 메서드 내 2가지 이상의 SQL 작업이 있다고 하면 모두 성공하거나 실패해야 한다...
트랜잭션(Transaction) 관리Spring 핵심 메커니즘 중 하나인 트랜잭션 관리는 Spring Boot 를 사용하고 있으면 대부분내부적으로 선언적 트랜잭션 관리를 사용하고 있다. 💡 트랜잭션(Transaction) 이란? 트랜잭션은 데이터베이스의 상태를 변경하는 하나의 논리적 작업 단위를 말한다.즉, 여러 SQL 작업이 있을 때 모두 성공하거나(all or nothing) 모두 실패해야 하는 원자적 단위이다. ✅ 예시 1. 계좌 A → 계좌 B 로 10만원 송금 - A 계좌 잔액 10만원 감소 - B 계좌 잔액 10만원 증가 이 두 SQL 중 하나라도 실패하면, 전체 작업이 취소되어야 함 → 이것이 트랜잭션의 역할입니다.쉽게 말해, 한 메서드 내 2가지 이상의 SQL 작업이 있다고 하면 모두 성공하거나 실패해야 한다...
2025.11.06 -
@RequestMapping, @GetMapping, @PostMapping 등에 있는 consumes 나 produces 속성은Spring MVC 에서 컨트롤러 메서드가 어떤 타입의 요청 본문을 받아들 일 수 있는지와 응답을 할 수 있는지명시하는 역할을 한다. 1️⃣ 한 문장으로 요약consumes = 요청(Request) 의 Content-Type 을 제한하는 속성produces = 응답(Response) 를 어떤 형식으로 보낼지 제한하는 속성즉, 클라이언트가 HTTP 요청을 보낼 때 Content-Type 헤더가 consumes 에서 지정한 값과 일치해야요청한 컨트롤러 메서드가 호출된다. 2️⃣ 기본 문법@PostMapping(value = "/save", consumes = "application..
@RequestMapping 의 consumes 속성, produces 속성@RequestMapping, @GetMapping, @PostMapping 등에 있는 consumes 나 produces 속성은Spring MVC 에서 컨트롤러 메서드가 어떤 타입의 요청 본문을 받아들 일 수 있는지와 응답을 할 수 있는지명시하는 역할을 한다. 1️⃣ 한 문장으로 요약consumes = 요청(Request) 의 Content-Type 을 제한하는 속성produces = 응답(Response) 를 어떤 형식으로 보낼지 제한하는 속성즉, 클라이언트가 HTTP 요청을 보낼 때 Content-Type 헤더가 consumes 에서 지정한 값과 일치해야요청한 컨트롤러 메서드가 호출된다. 2️⃣ 기본 문법@PostMapping(value = "/save", consumes = "application..
2025.10.13 -
1️⃣ 직렬화(Serialization) 정의Java 객체 → 특정 포맷의 데이터로 변환하는 과정Spring 에서는 주로 HTTP 응답(Response) 으로 전송할 때 사용 예시Java 객체public class User { private String name = "홍길동"; private int age = 30; // getter/setter} 1. JSON 직렬화{"name":"홍길동","age":30} 2. XML 직렬화 홍길동 30 Spring 에서@RestController 에서 객체를 반환할 때 Spring 이 자동으로 직렬화를 수행Converter 역할 : Java 객체 → JSON/XML 등JSON : MappingJackson2HttpMessageConver..
직렬화, 역직렬화 (HttpMessageConverter)1️⃣ 직렬화(Serialization) 정의Java 객체 → 특정 포맷의 데이터로 변환하는 과정Spring 에서는 주로 HTTP 응답(Response) 으로 전송할 때 사용 예시Java 객체public class User { private String name = "홍길동"; private int age = 30; // getter/setter} 1. JSON 직렬화{"name":"홍길동","age":30} 2. XML 직렬화 홍길동 30 Spring 에서@RestController 에서 객체를 반환할 때 Spring 이 자동으로 직렬화를 수행Converter 역할 : Java 객체 → JSON/XML 등JSON : MappingJackson2HttpMessageConver..
2025.10.02