spring 3

Spring Boot Docker Compose Support

Spring Boot 3.1 부터 개발자도구에 Docker Compose 연동을 지원한다. 스프링 공식 블로그에도 관련 소개글을 확인할 수 있다. 일반적으로 docker compose 는 "docker-compose up" 으로 실행하고 "docker-compose down" 으로 컨테이너를 중지시킨다. Spring Boot 3.1 부터는 Docker Compose 명령어를 위임하여 사용할 수 있다. Spring Boot 어플리케이션이 시작되거나 중지되는 동안 컨테이너 관리도 같이 하게 된다는 의미이다. 디펜던시 설정 spring initializr 에서 프로젝트 구성시 Dependencies 에서 Docker Compose Support 를 추가하면 된다. (매우 간단하다.) dependencies {..

spring/spring-boot 2023.12.17

RestTemplate 사용법

Connection Pool 사용 RestTemplate 은 내부적으로 Apache HttpComponents 라이브러리를 사용합니다. http 요청 시, RestTemplate 은 매번 새로운 연결을 맺고 이로 인하여 대량의 요청을 처리할 때 상당한 오버헤드가 발생할 수 있다. 이를 회피하기 위해 RestTemplate 이 매번 새로운 연결을 맺는 대신에 재사용 할 수 있는 커넥션 풀을 구성하여 사용하는 것이 좋다. Spring 에서는 RestTemplate 을 위한 커넥션 풀을 구성할 수 있도록 HttpClientConnectionManager 인터페이스를 제공한다. @Bean public RestTemplate restTemplate() { HttpComponentsClientHttpRequestF..

spring 2023.10.30

스프링 부트(3.1.5) 어플리케이션에서 CSRF 적용하기

Cross-Site Request Forgery(CSRF) 는 공격자가 사용자를 대신하여 무단으로 조작하는 흔한 웹 보안 취약점이다. Spring Boot는 Spring Security를 통하여 CSRF 공격으로부터 어플리케이션을 간단하게 보호할 수 있는 방법을 제공한다. 최근에 Security 관련설정에서 상속받아 사용하던 WebSecurityConfigurerAdapter 클래스가 Deprecate됨에 따라 설정방법에도 변화가 발생하였다. Spring Boot Security 설정 2.X => 3.1.X 마이그레이션은 다음의 문서를 확인해 보자 https://docs.spring.io/spring-security/reference/migration-7/configuration.html 사전 구성 요소..