1. Spring Boot?

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