1. Spring Boot?
- [설명]
- Java Spring FrameWork는 Java Virtual Machine(JVM)에서 실행되는 프로덕션급 독립형 Application을 만들기 위한 인기 있는 엔터프라이즈급 Open Source FrameWork입니다
- 3가지 핵심 기능을 통해 Spring FrameWork를 사용하여 더 빠르고 쉽게 Web Application과 MicroService를 개발하도록 돕는 Tool이기도 합니다
- [3가지 기능]
- 자동구성
- 수동으로 구성하지 않아도 되는 사전 설정된 종속성 항목으로 Application이 초기화된다는 의미입니다
- 내장형 자동 구성 기능과 함께 제공되므로, 설정에 따라 기반 Spring FrameWork와 타사 Package를 모두 자동으로 구성할 수 있습니다
- 초기화가 완료되면 기본값을 무효화할 수 있지만, Java Spring Boot의 자동 구성 기능을 통해 Spring기반 Application을 빨리 개발하고 인적 오류의 가능성을 낮출 수 도 있습니다
- 구성에 대한 독선적 접근 방식
- 프로젝트의 요구사항에 따라 시작 종속성 항목을 추가 및 구성할 때 독창적 접근 방식(Opionionated Approach)
- 사용자에게 모든 결정을 맡기고 모든 것을 수동으로 설정하도록 하는 대신 자체적 판단에 따라 설치할 패키지와 사용할 기본값을 선택합니다
- 초기화 프로세스 동안에는 프로젝트의 요구사항을 정의할 수 있습니다
- 초기화 프로세스 동안 사용자는 Spring Starter라고 부르는 일반적인 사용 사례에 적용되는 여러시작 종속성 항목들ㅇ 중에서 선택할 수 있습니다
- 사용자는 코딩을 전혀 수행하지 않고 단순한 Web Form을 여과하여 Spring Boot Initializer을 실행합니다
- [예시]
- Spring Web : 시작 종속성 항목을 통해 Apache Tomcat Web Server와 같은 필요한 종속성 항목을 프로젝트에 추가하여 최소한의 구성으로 Spring 기반 Web Application을 구축 할 수 있습니다.
- Spring Security : Application에 자동으로 인증 및 Access 제어 기능을 추가하는 또 다른 인기있는 시작 종속성 항목입니다
- 50개가 넘는 Spring Starter를 포함하고 있고, 이용 가능한 타사의 시작 종속성 항목은 더 많습니다
- 독립형 Application을 만드는 능력
- Spring Boot는 개발자가 그냥 실행되는 Application을 만들도록 돕습니다
- Spring Boot를 사용하면 초기화 프로세스동안 Tomcat or Netty와 같은 Web Server를 App에 포함하여 외부 Web Server에 의존하지 않고 자체적으로 실행되는 독립형 Application을 만들 수 있습니다
- Run명령을 누르기만 하면 어느 플랫폼에서나 Application을 실행할 수 있습니다
- [장점]
- 사용 편의성과 개발 속도 향상입니다
- Spring FrameWork로 직접 작업할 경우 얻는 유연성을 대가로 얻어 갈 수 있습니다
- 주석 시스템으로 추가 종속성 항목을 Application으로 쉽게 주입할 수 있고, 손쉬운 이벤트 처리와 검증, 데이터 바인딩, 유형전환, 내장형 보안 및 테스트 기능과 같은 모든 Spring FromeWork의 기능을 이용 할 수 있습니다
- [단점]
- 독특한 구성을 실행해야하거나 구성을 실행하기를 원하는 것이 아닐 경우가 해당된다