1. withCredentials
- 크로스 도메인의 API를 사용할 일이 생겨, 서버단에서 CORS 설정을 했는데도 쿠키에 있는 사용자 인증 정보가 넘어오지 않는 문제점이 발생했다.
- 쿠키는 브라우저의 same-origin 정책을 따르기 때문에 같은 도메인에서만 cookie를 read/write 할 수 있다.
- 이 문제를 해결 하기 위해 withCredentials = true로 설정하게 되면 Set-Cookie 헤더를 통해 원격 서버에 쿠키를 set 할 수 있게 된다.
Read More
- 스프링 부트에는 편리한 개발 환경을 구축할 수 있는 tool이 포함되어 있다.
- 위의 4-4. Hot Swapping의 기능을 제공하는 spring-boot-devtools 모듈이 대표적이다
Read More
1. Auto-configuration
- Spring Boot auto-configuration은 추가한 jar dependency를 기반으로 스프링 application을 자동으로 설정하는 것을 시도한다.
- 예를 들어 HSQLDB가 classpath에 있다면 (dependency로 추가했다면) 그리고 수동으로 데이터베이스 connection bean 설정을 하지 않았다면, 스프링 부트가 in-memory 데이터베이스를 자동으로 설정해준다.
- 이를 사용하기 위해서는 @Configuration 어노테이션 위에 @EnableAutoConfiguration을 추가하거나 @SpringBootApplication 어노테이션을 추가해라
Read More
1. Starters
- starter는 application에 포함시킬 수 있는 편리한 dependency들의 모음이다. starter만 추가하면 스프링이나 그 외 연결되어 있는 기술들을 쉽게 사용할 수 있다.
- 예를 들어서 spring과 JPA로 시작하고 싶다면 spring-boot-starter-data-jpa 의존성만 추가하면 된다
- starter는 프로젝트를 세팅할 때 필요로 하는 많은 dependency들이 들어가 있다.
- spring boot의 공식적인 starter들은 ‘spring-boot-starter-*’ 로 시작한다.
Read More
1. Creating an Executable Jar
- 실행 가능한 jar 파일 안에는 컴파일된 클래스와 코드를 실행하기 위해 필요한 모든 jar dependencies들이 포함되어 있다.
- maven이나 gradle 플러그인을 사용하면 executable jar 파일을 자동으로 생성해준다
- maven에서 실행가능한 jar 파일을 만들기 위해서는 pom.xml에 spring-boot-maven-plugin을 추가한다.
Read More