Spring Boot란?
1. Spring Boot는 Spring Framework를 더 쉽게 사용하도록 만든 확장 도구입니다.
- Spring Framework는 강력한 기능을 제공하지만, 설정이 복잡하고 개발 초기 설정에 시간이 많이 걸립니다.
- Spring Boot는 이러한 초기 설정을 자동화하고, 필요한 기능들을 빠르게 적용할 수 있도록 돕는 프레임워크입니다.
2. Spring Boot의 주요 특징
- 자동 설정(Autoconfiguration)
- Spring Boot는 대부분의 설정을 자동으로 처리합니다. 예를 들어, 데이터베이스를 연결하거나, 웹 서버를 실행할 때, 추가적인 설정 없이도 바로 동작합니다.
- 자동 설정(@EnableAutoConfiguration)
- **클래스 경로(classpath)**에 존재하는 의존성(dependency)을 기반으로, 필요한 빈(bean)이나 환경을 자동으로 구성하는 Spring Boot의 핵심 메커니즘입니다.
- 개발자가 명시적으로 설정을 하지 않아도, Spring Boot가 기본적인 동작에 필요한 구성 요소를 자동으로 빈으로 등록합니다.
- 예:
- spring-boot-starter-web을 추가하면 내장 Tomcat 서버가 자동으로 설정되고 실행됩니다.
- spring-boot-starter-data-jpa를 추가하면 데이터베이스와 JPA 관련 빈이 자동으로 등록됩니다.
- 내장 서버(Built-in Server)
- Spring Boot는 기본적으로 Tomcat, Jetty, Netty 같은 웹 서버를 포함하고 있어, 따로 서버를 설치하지 않아도 애플리케이션을 실행할 수 있습니다.
- 간소화된 설정
- 개발자가 설정 파일(application.yml 또는 application.properties)에서 간단한 값을 입력하면, Spring Boot가 이를 바탕으로 적절한 빈(bean)을 생성하고 환경을 구성합니다.
- --spring.profiles.active=dev는 Spring Boot의 **"간소화된 설정"**에 속합니다.
- 이 기능은 Spring Framework의 Profiles 기능을 Spring Boot가 확장하고 간소화하여, 애플리케이션 실행 시 어떤 설정을 활성화할지 쉽게 지정할 수 있도록 만든 것입니다.
- 개발자가 설정 파일(application.yml 또는 application.properties)에서 간단한 값을 입력하면, Spring Boot가 이를 바탕으로 적절한 빈(bean)을 생성하고 환경을 구성합니다.
- 스타터 의존성(Spring Boot Starters)
- 필요한 기능들을 한 번에 추가할 수 있는 의존성 집합 제공.
- 예: spring-boot-starter-web, spring-boot-starter-data-jpa 등.
- 필요한 기능들을 한 번에 추가할 수 있는 의존성 집합 제공.
스프링 / 스프링 부트 환경설정
- Java -Dlogging.config= 'fileLocaiton' -jar : JVM Custom system property(With -D) with Spring's convention for custom logging config file
- java -jar APP --spring.config.location = 'fileLocaiton' : Spring Boot Cli argument, springboot Read it To location custom application config
파일/클래스표기법
- file:/path/...
- classpath:/...
'개발기술 > Spring' 카테고리의 다른 글
비동기 Web Flux (0) | 2024.11.19 |
---|---|
Spring 스케쥴러 (1) | 2024.11.15 |
MSA도입을 위한 Spring Cloud (0) | 2024.11.04 |
Spring 동시성이슈 해결 (0) | 2024.07.30 |
스프링 전체구조 (0) | 2024.07.24 |