SW/Spring Boot

Spring Boot : 스프링 부트 튜토리얼

얇은생각 2023. 3. 1. 07:30
반응형

Spring Boot : 스프링 부트 튜토리얼

 

 

 

스프링 부트 튜토리얼

스프링 부트 튜토리얼에서는 스프링 프레임워크의 기본 개념과 고급 개념을 제공합니다.

스프링 부트는 스프링 프레임워크에 RAD(Rapid Application Development) 기능을 제공하는 스프링 모듈입니다.

Spring Boot 튜토리얼에는 기능, 프로젝트, maven 프로젝트, 스타터 프로젝트 마법사, Spring Initializr, CLI, 애플리케이션, 주석, 종속성 관리, 속성, 스타터, 액추에이터, JPA, JDBC 등과 같은 스프링 부트의 모든 주제가 포함되어 있습니다.

 

 

 

스프링 부트란

스프링 부트는 스프링 프레임워크 상단에 구축된 프로젝트입니다. 단순 및 웹 기반 응용 프로그램을 보다 쉽고 빠르게 설정, 구성 및 실행할 수 있는 방법을 제공합니다.

스프링 프레임워크에 RAD(Rapid Application Development) 기능을 제공하는 스프링 모듈입니다. 최소한의 스프링 구성이 필요하므로 실행할 수 있는 독립 실행형 스프링 기반 응용 프로그램을 만드는 데 사용됩니다.

 

 

Spring Boot : 스프링 부트 튜토리얼

 

 

간단히 말해서, Spring Boot Spring Framework Embedded Server의 결합입니다.

Spring Boot에서는 XML 구성(배포 설명자)이 필요하지 않습니다. 구성 소프트웨어 설계 패러다임에 대한 규칙을 사용하므로 개발자의 노력이 줄어듭니다.

Spring STSIDE 또는 Spring Initializer를 사용하여 Spring Boot Java 애플리케이션을 개발할 수 있습니다.

 

 

스프링 부트 프레임워크를 사용해야 하는 이유

Spring Boot Framework를 사용해야 하는 이유는 다음과 같습니다.

종속성 주입 방식은 스프링 부트에 사용됩니다.

강력한 데이터베이스 트랜잭션 관리 기능이 포함되어 있습니다.

JPA/Hibernate ORM, Struts 등과 같은 다른 Java 프레임워크와의 통합을 단순화합니다.

애플리케이션의 비용과 개발 시간을 줄여줍니다.

Spring Boot Framework와 함께, 많은 다른 Spring 자매 프로젝트들은 현대 비즈니스 요구를 해결하는 애플리케이션을 구축하는 데 도움이 됩니다. 스프링 자매 프로젝트는 다음과 같습니다. 

Spring Data : 관계형 및 NoSQL 데이터베이스에서 데이터 액세스를 단순화합니다.

Spring Batch : 강력한 배치 처리를 제공합니다.

Spring Security : 응용프로그램에 강력한 보안을 제공하는 보안 프레임워크입니다.

Spring Social : LinkedIn과 같은 소셜 네트워킹과의 통합을 지원합니다.

Spring Integration : 이것은 엔터프라이즈 통합 패턴의 구현입니다. 경량 메시징 및 선언형 어댑터를 사용하여 다른 엔터프라이즈 애플리케이션과의 통합을 용이하게 합니다.

 

 

 

스프링 부트 장점

Java-jar를 사용하여 시작할 수 있는 독립 실행형 Spring 응용 프로그램을 생성합니다.

Tomcat, Jetty 등과 같은 다양한 Embedded HTTP 서버의 도움을 받아 웹 애플리케이션을 쉽게 테스트합니다. 우리는 WAR 파일을 배포할 필요가 없습니다.

Maven 구성을 단순화하기 위해 'starter' POM을 제공합니다.

메트릭, 상태 점검 및 외부 구성과 같은 프로덕션 준비 기능을 제공합니다.

XML을 구성할 필요가 없습니다.

스프링 부트 응용 프로그램을 개발하고 테스트하기 위한 CLI 도구를 제공합니다.

플러그인 수를 제공합니다.

또한 여러 보일러 플레이트 코드(변경 사항이 거의 없거나 전혀 없는 여러 곳에 포함되어야 하는 코드), XML 구성 및 주석 쓰기를 최소화합니다.

생산성을 높이고 개발 시간을 단축합니다.

 

 

 

스프링 부트의 제한 사항

스프링 부트는 응용 프로그램에서 사용되지 않을 종속성을 사용할 수 있습니다. 이러한 종속성은 응용프로그램의 크기를 증가시킵니다.

 

 

 

스프링 부츠의 목표

스프링 부트의 주요 목표는 개발, 유닛 테스트 및 통합 테스트 시간을 줄이는 것입니다.

오피니언 개발 접근 방식을 제공합니다.

주석 구성을 더 이상 정의하지 않습니다.

가져오기 문을 많이 쓰지 않도록 합니다.

XML 구성을 피합니다.

 

스프링 부트 프레임워크는 위의 사항을 제공하거나 방지함으로써 개발 시간, 개발자 노력을 줄이고 생산성을 높입니다.

 

 

 

스프링 부트의 전제 조건

스프링 부팅 응용 프로그램을 만들려면 다음과 같은 전제 조건이 있습니다. 이 튜토리얼에서는 STS(Spring Tool Suite) IDE를 사용합니다.

- Java 1.8

- 메이븐 3.0+

- 스프링 프레임워크 5.0.0.BUILD-SNAPSHOT

- IDE(Spring Tool Suite) 권장

 

 

스프링 부트의 특징

- 웹 개발

- 스프링 응용 프로그램

- 응용 프로그램 이벤트 및 수신기

-  관리 기능

-  외부 구성

-  속성 파일

-  YAML 지원

-  유형 안전 구성

-  로깅

-  보안.

 

 

웹 개발 

웹 애플리케이션 개발에 적합한 봄 모듈입니다. Tomcat, Jetty 또는 Underow와 같은 내장된 서버를 사용하는 자체 포함 HTTP 애플리케이션을 쉽게 만들 수 있습니다. 우리는 spring-boot-starter-web 모듈을 사용하여 애플리케이션을 빠르게 시작하고 실행할 수 있습니다.

 

 

스프링 응용 프로그램

Spring Application Spring 응용 프로그램을 부트스트랩하는 편리한 방법을 제공하는 클래스입니다. 메인 메서드에서 시작할 수 있습니다. static run() 메서드를 호출하기만 하면 응용 프로그램을 호출할 수 있습니다.

 

 

응용 프로그램 이벤트 및 수신기

스프링 부트는 이벤트를 사용하여 다양한 작업을 처리합니다. 수신기를 추가하는 데 사용되는 공장 파일을 만들 수 있습니다. ApplicationListener 키를 사용하여 참조할 수 있습니다.

항상 META-INF/spring.factories와 같은 META-INF 폴더에 공장 파일을 생성하십시오.

 

 

관리자 지원

스프링 부트는 응용 프로그램에 대한 관리 관련 기능을 사용할 수 있는 기능을 제공합니다. 원격에서 응용프로그램에 액세스하고 관리하는 데 사용됩니다. Spring.application.admin.enabled 속성을 사용하여 Spring Boot 애플리케이션에서 이 기능을 사용할 수 있습니다.

 

 

외부 구성

Spring Boot을 사용하면 구성을 외부화할 수 있으므로 다른 환경에서 동일한 애플리케이션을 사용할 수 있습니다. 애플리케이션은 YAML 파일을 사용하여 구성을 외부화합니다.

 

 

속성 파일

스프링 부팅은 다양한 응용 프로그램 속성 집합을 제공합니다. 그래서, 우리는 그것을 우리 프로젝트의 속성 파일에 사용할 수 있습니다. 속성 파일은 서버 포트 = 8082 등의 속성을 설정하는 데 사용됩니다. 응용프로그램 속성을 구성하는 데 도움이 됩니다.

 

 

YAML 지원 

계층 구성을 지정하는 편리한 방법을 제공합니다. JSON의 상위 집합입니다. SpringApplication 클래스는 자동으로 YAML을 지원합니다. 이 클래스는 속성 파일의 대체입니다.

 

 

유형 안전 구성

강력한 유형 안전 구성은 응용프로그램 구성을 제어하고 검증하기 위해 제공됩니다. 애플리케이션 구성은 항상 유형 안전해야 하는 중요한 작업입니다. 이 라이브러리에서 제공하는 주석을 사용할 수도 있습니다.

 

 

로깅

스프링 부팅은 모든 내부 로깅에 공통 로깅을 사용합니다. 로깅 종속성은 기본적으로 관리됩니다. 사용자 정의가 필요하지 않은 경우 로깅 종속성을 변경하지 않아야 합니다.

 

 

보안

스프링 부트 애플리케이션은 스프링 기반 웹 애플리케이션입니다. 따라서 기본적으로 모든 HTTP 엔드포인트에서 기본 인증확인을 통해 안전합니다. 다양한 엔드포인트 세트를 사용하여 안전한 스프링 부트 애플리케이션을 개발할 수 있습니다.

반응형