Spring 7

Spring Boot vs Legacy Spring 의 결정적 차이

Spring Boot vs Legacy Spring — 실행 과정의 결정적 차이내장 톰캣 vs 외장 톰캣, 그리고 빈 초기화 순서가 왜 다른가Spring Framework 5.x (Legacy) | Spring Boot 3.x | Java 17+들어가며Spring Boot와 Legacy Spring의 차이를 물으면 대부분 "자동 설정"이나 "starter 의존성"을 먼저 떠올립니다.하지만 저는 내장 톰캣 vs 외장 톰캣이 가장 본질적인 차이라고 생각합니다.단순히 톰캣이 어디 있느냐의 문제가 아닙니다.누가 먼저 실행되느냐, 즉 빈 초기화와 서블릿 컨테이너의 실행 순서가 완전히 뒤바뀌기 때문입니다.1. Legacy Spring — 톰캣이 주인, Spring은 손님1-1. 전체 실행 흐름Legacy Sprin..

SPRING 2026.03.11

Spring Boot 요청 및 응답 처리 과정

Spring Boot 요청 및 응답 처리 과정JSON / Form 요청이 DispatcherServlet부터 응답까지 처리되는 내부 동작 원리Spring Boot 3.x | Spring Framework 6.x | Java 17+1. 전체 처리 흐름 한눈에 보기Client (Ajax JSON / HTML Form) ↓Embedded Tomcat (HttpConnector) ↓Filter Chain (SecurityFilter, CharacterEncodingFilter …) ↓DispatcherServlet.doDispatch() ↓HandlerMapping → HandlerExecutionChain (Handler + Interceptor) ..

SPRING 2026.03.10

NuxtJS(ReactJS) + Spring + JWT 토큰 발급 과정 및 보안 고려사항

웹 애플리케이션에서 JWT(JSON Web Token)를 활용하여 인증과 권한 부여를 처리하는 것은 매우 일반적입니다. 이 글에서는 NuxtJS와 Spring을 사용하여 JWT를 관리하는 과정과 관련된 보안 고려사항을 설명하겠습니다.1. JWT 토큰 저장 위치 및 보안 고려사항JWT 토큰은 크게 두 가지, 즉 accessToken과 refreshToken으로 나뉩니다. 각각의 저장 위치와 보안 측면을 고려할 때, 다음과 같은 옵션이 있습니다LocalStorage장점: 데이터 접근이 용이하여 편리합니다.단점: JavaScript에서 접근할 수 있어 XSS(Cross-Site Scripting) 공격에 취약합니다.Cookie장점: Secure 및 HttpOnly 속성을 설정하여 보안을 강화할 수 있습니다.단..

VUE 2024.08.31

Spring Framework @Scheduled 사용 방법

@Scheduled 어노테이션은 Spring 프레임워크에서 일정 주기로 메서드를 실행할 때 사용됩니다. 1. Fixed Rate 설정 fixedRate 속성을 사용하여 메서드 호출 간격을 밀리초 단위로 지정합니다. import org.springframework.scheduling.annotation.Scheduled; public class MyScheduledTask { @Scheduled(fixedRate = 5000) // 5초마다 실행 public void myTask() { // 실행할 코드 } } 2. Fixed Delay 설정 fixedDelay 속성을 사용하여 이전 메서드 실행이 완료된 시점부터 다음 메서드 호출까지의 시간을 밀리초 단위로 지정합니다. import org.springfra..

SPRING 2024.02.07

Lombok @Builder 사용 시 기본값 지정 방법

Lombok은 자바에서 반복적이고 지루한 코드를 줄이기 위한 라이브러리로, @Builder 어노테이션은 해당 클래스에 빌더 패턴을 자동으로 생성하는 데 사용됩니다. 그중 @Builder.Default 어노테이션은 @Builder와 함께 사용되어 생성된 빌더에 대한 기본값을 지정할 때 사용됩니다. 간단한 예제를 통해 설명하겠습니다: import lombok.Builder; import lombok.Builder.Default; @Builder public class MyClass { @Default private int myNumber = 42; // 기본값은 42로 설정됨 private String myString; public static void main(String[] args) { MyClass ..

SPRING/Lombok 2023.12.20

[Spring Boot Reference V3.0.6] Spring Boot 개발하기

스프링 부트로 개발하기 이 섹션에서는 Spring Boot를 사용하는 방법에 대해 자세히 설명합니다. 빌드 시스템, 자동 구성 및 애플리케이션 실행 방법과 같은 주제를 다룹니다. 또한 몇 가지 Spring Boot 모범 사례도 다룹니다. Spring Boot에 대해 특별히 특별한 것은 없지만(사용할 수 있는 또 다른 라이브러리일 뿐임) 따를 때 개발 프로세스를 좀 더 쉽게 만들어 주는 몇 가지 권장 사항이 있습니다. Spring Boot를 시작하는 경우 이 섹션을 시작하기 전에 시작하기 가이드를 읽어야 합니다. 1. 시스템 구축 종속성 관리를 지원 하고 "Maven Central" 리포지토리에 게시된 아티팩트를 사용할 수 있는 빌드 시스템을 선택하는 것이 좋습니다 . Maven 또는 Gradle을 선택하..

[Spring Boot Reference V3.0.6] Spring Boot 업그레이드

스프링 부트 업그레이드 이전 버전의 Spring Boot에서 업그레이드하는 방법에 대한 지침은 프로젝트 wiki 에서 제공됩니다 . 릴리스 정보 섹션 의 링크를 따라 업그레이드하려는 버전을 찾으십시오. 업그레이드 지침은 항상 릴리스 정보의 첫 번째 항목입니다. 두 개 이상의 릴리스가 뒤처진 경우 점프한 버전의 릴리스 정보도 검토해야 합니다. 1. 1.x에서 업그레이드 1.xSpring Boot 릴리스 에서 업그레이드하는 경우 자세한 업그레이드 지침을 제공하는 프로젝트 위키의 "마이그레이션 가이드"를 확인하십시오. 각 릴리스의 "새롭고 주목할 만한" 기능 목록은 "릴리스 노트" 도 확인하십시오 . 2. 새 기능 릴리스로 업그레이드 새 기능 릴리스로 업그레이드할 때 일부 속성의 이름이 변경되었거나 제거되었을..