본문 바로가기

# Spring Boot · 14

Flyway로 Spring Boot 스키마 버전 관리

Development

운영 DB 스키마를 누가 언제 어떻게 바꿨는지 추적이 안 돼서 곤란했던 경험은 대부분 있을 것이다. 개발 DB에서는 되던 쿼리가 운영에서 컬럼이 없다고 터지고, ALTER 문은 누군가의 로컬 메모나…

아무로레이·2026년 9월 9일·조회 1

Testcontainers로 Spring Boot 통합 테스트에 진짜 DB와 Kafka 띄우기 - @ServiceConnection, 컨테이너 재사용, CI 설정

Development

통합 테스트를 H2 인메모리 DB로 돌려놓고 운영은 PostgreSQL로 하는 프로젝트를 자주 본다. 나도 예전엔 그렇게 했다. 빠르고 편하니까. 문제는 방언(dialect) 차이에서 터진다. H2…

¯¯\_(ツ)_/¯·2026년 9월 4일·조회 6

Spring Boot에서 Logback JSON 구조화 로깅

Java

운영 중인 서비스에서 장애 원인을 좇다 보면 로그가 텍스트 한 줄로 흩어져 있어 특정 요청만 뽑아보기 어려운 경우가 많다. 톰캣 접근 로그와 애플리케이션 로그를 grep으로 맞춰 보다가 시간만 쓴 …

appsrootappsroot·2026년 9월 3일·조회 3

Java 17과 Java 25의 차이 - 두 LTS 사이에 바뀐 것과 업그레이드 확인 목록

Java

운영 중인 서비스의 JDK 버전을 물어보면 아직 17이라는 답을 제일 많이 듣습니다. 8에서 17로 넘어오면서 한 번 크게 고생한 기억이 남아 있으면 당분간 런타임에 손대기 싫어지는 것도 당연하죠.…

주말만기다려주말만기다려·2026년 8월 27일·조회 15

Apache Tomcat과 Spring Boot의 차이 - WAS와 프레임워크, 내장 톰캣까지 관계 정리

Apache Tomcat

톰캣 설치나 커넥터 설정을 정리해두면 현장에서 꼭 따라오는 질문이 있다. 스프링 부트를 쓰는데 톰캣을 따로 깔아야 하는지, 둘 중 무엇을 먼저 익혀야 하는지 같은 것들이다. 신입 개발자만 묻는 것도…

stdio.hstdio.h·2026년 8월 18일·조회 21

Spring Boot @Async 스레드 폭증과 큐 적체 잡기: ThreadPoolTaskExecutor 설정과 MDC 전파

Development

@Async 하나 붙였다가 운영에서 스레드가 이상하게 늘거나 응답이 밀리는 상황은 자주 온다. 그런데 그 원인을 검색하면 "@Async는 요청마다 스레드를 무한 생성해서 서버가 죽는다"는 설명이 많…

¯¯\_(ツ)_/¯·2026년 8월 16일·조회 12

Spring Boot JPA N+1 쿼리 진단과 해결: generate_statistics, fetch join, @EntityGraph, @BatchSize

Java

코드 리뷰나 성능 점검을 하다 보면 JPA N+1 얘기를 반복해서 하게 된다. 목록 화면 하나 열었을 때 쿼리가 몇 개 나가는지 물어보면 답이 바로 안 나오는 경우가 많고, 원인을 찾은 뒤에도 fe…

¯¯\_(ツ)_/¯·2026년 7월 29일·조회 15
Java

Dockerizing Spring Boot Application

Spring Boot 애플리케이션을 Docker 환경에 배포하기 위해서는 크게 4가지의 과정이 필요하다. Spring Boot 애플리케이션 만들기 Dockerfile 만들기 Dockerfile을 빌…

하마는무슨색·2020년 8월 18일·조회 26,457

[Spring Boot] security를 사용할 때 ajax post 403에러 발생

Cloud Computing & MSA

1. 개요 Spring boot를 사용한 개발 중 ajax post 통신시에 403에러가 계속 발생. 해당 에러를 해결하는 방법 제시. 2. 환경 * Java - 1.8.0_202 * Spring …

RRedEyezCuckoo·2020년 8월 4일·조회 90,117
Cloud Computing & MSA

[Spring Boot] security를 사용한 user 생성 및 권한부여 - 2(mariaDB 사용)

1. 개요 [Spring Boot] security를 사용한 user 생성 및 권한부여 -1 에서는 메모리에 user 정보를 올리고 사용하는 위험한 행동을 했었다.. 그래서 mariaDB를 설치하고…

RRedEyezCuckoo·2020년 6월 30일·조회 9,379
Cloud Computing & MSA

[Spring Boot] security를 사용한 user 생성 및 권한부여 - 1

1. 개요 actuator를 설정하고 보니 정보 유출이 걱정돼서 접근제어를 구현하려고 한다. 일전에 IP를 통한 접근제어를 시도했는데, PC의 IP를 코드에 넣는 것은 위험하다고 생각되어 사용자를 …

RRedEyezCuckoo·2020년 6월 23일·조회 11,518

[Spring Boot] embedded tomcat SSL 설정

Java

1. 목적 Spring boot에서 https 를 사용하기 위한 embedded tomcat SSL 설정 및 테스트용 인증서 발급 2. 테스트용 인증서 발급 -. CMD (관리자 모드에서 진행) k…

RRedEyezCuckoo·2020년 2월 5일·조회 8,599

Spring Boot MyBatis mapUnderscoreToCamelCase 설정

Development

1. 개요 DB 컬럼명에 _ (Underscore)가 포함되어 있을 때 이를 자동으로 카멜 표기법의 DTO와 매핑해주기 위해 설정을 추가한다. 예: USER_NAME 컬럼 - getUserName(…

열린기술자열린기술자·2019년 9월 4일·조회 10,524

SpringBootApplication annotation

Development

1. 상위문서 Spring Annotation 2. @SpringBootApplication 스프링 부트 초기에는 없던 어노테이션이다. 1.2부터 생겼다고 한다. 세가지 속성 값을 지니고 있다. @…

¯¯\_(ツ)_/¯·2018년 1월 25일·조회 2,182