Java/Spring
-
환경 : Spring Boot 3 Logback 을 통해 로그를 찍을 때 휴대폰번호나 개인정보가 포함된 내용에 대해 마스킹 처리를 해야하는 상황이다.해당 내용은 RestTemplate 요청 시 Interceptor 를 통해 로그를 찍을려고 한다. ✅ Log4j2 의존성 제거 Log4j2 를 사용하고 있으면 의존성을 제거한다. org.springframework.boot spring-boot-starter-log4j2 pom.xml 내 해당 내용을 삭제한다. Spring Boot 로깅을 Logback 기본값으로 돌리려면 starter-logging(Logback) 이 빠져있지 않는지 확인한다.혹시 exclusion 되어 있으면 삭제해야 한다. org.springframew..
Spring Boot Interceptor 를 통한 Logback 로그 찍기환경 : Spring Boot 3 Logback 을 통해 로그를 찍을 때 휴대폰번호나 개인정보가 포함된 내용에 대해 마스킹 처리를 해야하는 상황이다.해당 내용은 RestTemplate 요청 시 Interceptor 를 통해 로그를 찍을려고 한다. ✅ Log4j2 의존성 제거 Log4j2 를 사용하고 있으면 의존성을 제거한다. org.springframework.boot spring-boot-starter-log4j2 pom.xml 내 해당 내용을 삭제한다. Spring Boot 로깅을 Logback 기본값으로 돌리려면 starter-logging(Logback) 이 빠져있지 않는지 확인한다.혹시 exclusion 되어 있으면 삭제해야 한다. org.springframew..
2025.11.27 -
✅ 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