Spring

A collection of 5 posts
JAVA

@Transactional 옵션으로 (rollbackFor = Exception.class)를 왜 쓸까?

☝️여기서 설명하는 @Transactional은 org.springframework.transaction.annotation.Transactional이다. javax, jakarta 패키지에 기본 포함된 @Transactional의 경우 동일한 기능을 하기는 하나, 일부 옵션의 이름이 상이할 수 있으니 유의 바란다. 참고로 javax, jakarta에서 rollbackFor와 동일한 옵션은 rollbackOn이다. 그런 글들 자주 봤다 @Transactional 관련 글을 보면 예제로 @Transactional(rollbackFor=Exception.class)를 적어두거나, 선임이
8 min read
JAVA

스프링 부트 3에 Swagger 적용하기

REST API 문서 도입기 최근 REST API 문서 생성을 위해 Swagger 도입을 고려하고 있었다. 그래서 구글링을 통해 Swagger 적용 방법에 대한 글을 찾아보고 그대로 적용해 보았다. 그런데 이게 웬걸? Swagger를 적용하고 접속해본 곳에는 오직 Whitelabel Error Page 만이 반겨줄 뿐이었다. 스택 오버플로우를 찾아도 스프링 부트 버전을 2.5.X으로 낮추라는
5 min read
Spring

Mustache CSRF 적용하기

더 이상의 CSRF disable은 NO! 보통 스프링 시큐리티 설명을 위한 글들을 보면 Config 코드에 다음과 같이 작성된 코드를 많이 볼 수 있다. http.csrf().disable().build(); // 혹은 http.csrf(CsrfConfigurer::disable) 코드만 봐도 알겠지만, 이는 HttpSecurty에서 CSRF 보안을 사용하지 않도록 설정하는 것이다. 물론 예제나 테스트를 위한 프로젝트에서는 꺼도 상관없겠지만, 실제로
2 min read
JAVA

스프링 부트 Kafka 연동하기

개발환경 * OpenJDK 17 * Docker Spring Boot 프로젝트 생성 1. https://start.spring.io 접속. 2. 아래 사진과 같이 설정하고 프로젝트 생성. 프로젝트 불러오기 1. 생성된 프로젝트 압축파일 풀기. 2. 압축이 풀린 폴더를 IDE에서 폴더 열기로 프로젝트를 불러오기. 프로젝트 구조 application.yml 생성 1. src/main/resources 디렉토리에 존재하는 application.properties
4 min read
Spring

스프링을 쓰는 이유

왜 스프링을 쓸까? 국내에서 가장 많이 쓰이는 백엔드 프레임워크는 단연 Spring Framework(이하 스프링)일 것이다. 그런데 왜 스프링을 사용했냐고 물어보면 이 질문에 대해 답할 수 있는 사람은 별로 없다는 것을 깨닫게 될 것이다. 이는 스프링이 제시하는 핵심 가치나 특징을 모르기 때문에 그런 것이다. 그렇다면 위의 질문에 대답할 수 있도록,
6 min read