1. 스프링 부트 시작하기
Less than 1 minute
1. 스프링 부트 시작하기 관련
namjunemy/TIL - [스프링 부트 개념과 활용] 1. 스프링 부트 시작하기
[스프링 부트 개념과 활용] 1. 스프링 부트 시작하기
01. 스프링 부트 소개
- 스프링 부트 공식 문서에 나와 있는 스프링 부트 소개
- 요약하자면,
- 스프링 부트는 production 수준의 독립적인 애플리케이션을 빠르고 쉽게 만들 수 있도록 도와준다.
- Opinionated view라고 불리는 컨벤션. 즉, 가장 널리 쓰인다고 하는 설정들을 스프링 부트가 기본 설정으로 제공한다. 그 설정에는 서드파티 플랫폼(가장 대표적으로 톰캣)에 대한 설정도 포함 된다.
- 모든 스프링 개발에 있어서 더 빠르고 더 폭넓은 사용성을 제공해준다.
- Opinionated view를 기본적으로는 제공하지만, 원하는대로 요구사항에 맞게 쉽고 빠르게 바꿀 수 있다. 이 부분 때문에 스프링부트가 계속해서 널리 사용될 수 있다.
- 비즈니스 로직에 필요한 기능 뿐만아니라, non-functional features를 제공한다.(예를 들어, embedded servers, security, metrics, health checks and externalized configuration)
- 자바 8 이상 부터, 서블릿 3.1 이상 버전을 사용하면 문제없다.
02. 스프링 부트 시작하기
- intellij idea > spring initializer
Spring Boot Reference Guide
10.1.2 Gradle Installation
03. 스프링 부트 프로젝트 생성기
- start.spring.io 에서 부트 프로젝트 만드는 방법도 있다.
04. 스프링 부트 프로젝트 구조
다만, 스프링 부트에서는 @SpringBootApplication
애노테이션이 붙어있는 Main 애플리케이션 클래스의 위치를 프로젝트 디폴트 패키지의 루트에 위치시키는 것을 추천한다.(아래 구조에서 위치 참조) @ComponentScan
애노테이션이 해당 패키지 부터 시작하기 때문이다. 결과적으로 io.namjune.springbootgettingstarted
패키지 하위 패키지들을 컴포넌트 스캔해서 빈을 등록하게 된다.
만약 src/java/
아래에 바로 위치하면, 불필요하게 모든 패키지에 대해 @ComponentScan
이 동작하게 된다.
Spring Boot Reference Guide
6.2. Structuring Your Code
폴더구조
- src
- .
main/java
(java 소스코드)io.namjune.springbootgettingstarted
- .
SpringBootGettingStarted.java
(@SpringBootApplication
애노테이션 선언되어있는 Main 클래스)
- .
- .
resources
(java 소스 코드를 제외한 모든 것. classpath root이다. 이 위치를 기준으로 java 소스코드에서 resources 디렉토리의 하위 목록을 참조할 수 있다.)
- test
- .java
- .resources
- .