>Java >Java베이스 >스프링부트란 무엇인가?

스프링부트란 무엇인가?

青灯夜游
青灯夜游원래의
2022-11-29 11:46:4438778검색

Spring Boot는 Pivotal 팀에서 제공하는 Spring 기반 프레임워크로, 특정 구성 방법을 사용하므로 개발자는 더 이상 상용구 구성을 정의할 필요가 없습니다. Spring Boot는 현재 널리 사용되는 대부분의 개발 프레임워크를 통합합니다. Maven이 모든 JAR 패키지를 통합하는 것처럼 Spring Boot는 거의 모든 프레임워크를 통합하므로 개발자는 Spring 프로젝트를 빠르게 빌드할 수 있습니다.

스프링부트란 무엇인가?

이 튜토리얼의 운영 환경: windows7 시스템, java8 버전, DELL G3 컴퓨터.

Spring Boot는 Spring 애플리케이션의 초기 구성 및 개발 프로세스를 단순화하는 것을 목표로 하는 Pivotal 팀에서 제공하는 새로운 Spring 기반 프레임워크입니다. 프레임워크는 구성에 대한 임시 접근 방식을 사용하므로 개발자가 상용구 구성을 정의할 필요가 없습니다.

Spring 공식 웹사이트에서 제공하는 정의는 다음과 같습니다. Spring Boot는 모든 Spring 기반 개발 프로젝트의 시작점입니다. Spring Boot는 현재 널리 사용되는 대부분의 개발 프레임워크를 통합합니다. Maven이 모든 JAR 패키지를 통합하는 것처럼 Spring Boot는 거의 모든 프레임워크를 통합하므로 개발자는 Spring 프로젝트를 빠르게 빌드할 수 있습니다.

Spring Boot의 핵심 디자인 철학은 "구성보다 관례"입니다. 이러한 설계 원칙을 기반으로 Spring Boot는 프로젝트 및 프레임워크 구성을 크게 단순화합니다. 예를 들어 Spring을 사용하여 웹 프로젝트를 개발할 때 web.xml, Spring, MyBatis 등을 구성하고 이들을 통합해야 합니다. Spring Boot를 사용하면 모든 것이 매우 간단해집니다. 이 파일의 구성 프로세스를 단순화하기 위해 많은 기본 구성을 사용합니다. 해당 스타터만 도입하면 됩니다.

Spring Boot는 모든 것을 구축할 수 있습니다. Spring 프로젝트를 가능한 한 빨리 시작하고 실행하기 위해 최소한의 구성을 사용하도록 설계되었습니다.

Spring Boot의 배경

수년에 걸쳐 Spring의 급속한 발전과 새로운 기능의 지속적인 추가로 인해 Spring은 점점 더 복잡해졌습니다.

Spring 공식 웹사이트를 방문하면 Spring의 모든 하위 프로젝트와 컴포넌트 프레임워크를 볼 수 있습니다. 너무 많은 하위 프로젝트와 컴포넌트로 인해 Spring이 점차 번거로워지고 있으며 이는 분명히 클라우드 컴퓨팅 및 마이크로서비스 시대의 개발 추세에 적응할 수 없습니다. .

그래서 Spring Boot가 탄생했습니다. Spring Boot는 Spring을 기반으로 구축되었으며 "Convention over Configuration" 원칙을 따르므로 프로젝트나 프레임워크 생성 시 반드시 수행해야 하는 복잡한 구성을 피하여 개발자가 최소한의 작업으로 기존 Spring을 보다 간단하고 편리하게 사용할 수 있습니다. .의 모든 기능적 구성 요소.

Spring Boot의 기능

Spring Boot의 일련의 기능을 사용하면 마이크로서비스 아키텍처를 매우 쉽게 구현할 수 있습니다. 현재 많은 기술 스택에서 Spring Boot는 Java 분야의 마이크로서비스 아키텍처를 위한 최적의 구현 기술입니다.

다음 그림은 Spring Boot의 일부 기능을 보여줍니다.

스프링부트란 무엇인가?
그림 1 Sprint Boot의 기능

Spring Boot의 핵심 구성 요소

Spring Boot는 공식적으로 현재 널리 사용되는 많은 기본 기능 구성 요소를 일반적인 이름으로 캡슐화합니다. spring-boot-starter-quartz 예약 작업 구성 요소 및 spring-boot-starter-thymeleaf 페이지 템플릿 엔진 등과 같은 spring-boot-starter

또한 Spring Boot의 인기로 인해 많은 타사 미들웨어도 Spring Boot 사양에 따라 Spring Boot 프로젝트용 스타터를 제공합니다. 일반적으로 Spring용 MyBatis에서 제공하는 구성 요소 패키지 mybatis와 같이 구성 요소 이름으로 시작합니다. Boot.-spring-boot-starter.

Spring Boot의 핵심 구성 요소는 아래 그림에 나와 있습니다.

스프링부트란 무엇인가?
그림 2 Spring Boot의 핵심 구성 요소

Spring Boot의 장점

Spring Boot는 Spring의 일관된 장점과 특징을 상속하는 동시에 몇 가지 새로운 기능과 기능을 추가하여 Spring Boot를 매우 쉽게 시작하고 프로그래밍을 더 쉽게 만듭니다.

요약하면 Spring Boot에는 다음과 같은 장점이 있습니다.
  • "구성보다 관례" 원칙에 따라 Spring Boot를 사용하면 구성이 거의 필요하지 않거나 기본 구성을 사용합니다.
  • XML 사용의 번거로움을 피하려면 JavaConfig를 사용하세요.
  • Maven 구성을 단순화하고 종속성 충돌을 방지하기 위해 스타터를 제공합니다.
  • 임베디드 서블릿 컨테이너를 제공하므로 별도의 웹 서버 없이 Tomcat, Jetty 및 기타 컨테이너를 임베딩할 수 있습니다. 이는 더 이상 Tomcat이나 다른 미들웨어를 시작할 필요가 없음을 의미합니다.
  • 보안 모니터링, 애플리케이션 모니터링, 상태 감지 등과 같이 프로젝트에서 일반적으로 사용되는 일련의 비기능적 기능을 제공합니다.
  • 클라우드 컴퓨팅 및 마이크로서비스와의 자연스러운 통합.

소프트웨어 개발의 관점에서 보면 개발 모델이 단순할수록 더 대중적이고 역동적입니다. 이를 통해 개발자는 비즈니스 로직 자체에 집중할 수 있으며 소프트웨어 개발 효율성이 향상됩니다. Spring Boot는 애플리케이션 개발의 임계값을 최대한 단순화하여 애플리케이션 개발, 테스트 및 배포를 더 쉽게 만듭니다.

Spring Boot를 배워야 하는 이유

최근 몇 년간 Spring 생태계에서 가장 인기 있는 기술 프레임워크는 Spring Boot와 Spring Cloud입니다. 현재 다양한 기업에서는 복잡한 애플리케이션을 여러 개의 작은 독립 모듈로 분할하고 서로 간섭하지 않고 별도로 배포함으로써 느슨한 결합을 달성하고 개발 효율성을 향상하며 운영 및 유지 관리 비용을 절감하는 마이크로서비스 기술 아키텍처 구현을 추진하고 있습니다.

Spring Boot는 마이크로서비스 프레임워크의 기초로서 엔터프라이즈 수준 개발에서 점점 더 많이 사용되고 있습니다. Spring Cloud의 기초입니다. Spring Cloud를 배우려면 Spring Boot 프레임워크의 아키텍처와 디자인 철학을 이해해야 합니다.

Spring Boot는 Spring 생태계의 하위 프로젝트로, Spring 프레임워크를 기반으로 하는 차세대 애플리케이션을 빠르고 민첩하게 개발하는 데 사용됩니다. 동시에, 현재 성숙한 다양한 서비스 프레임워크와 타사 구성 요소(예: Redis, MongoDB, JPA, RabbitMQ, Quartz 등)를 결합하고 "컨벤션 오버"라는 설계 아이디어에 따라 이를 스타터 구성 요소로 캡슐화합니다. 구성". 이러한 방식으로 거의 제로 구성으로 Spring Boot 애플리케이션에서 이러한 구성 요소를 사용하여 즉시 사용할 수 있으므로 복잡한 구성에서 벗어나 비즈니스 로직 개발에 더 집중할 수 있습니다.

Spring Boot의 장점은 다음과 같이 요약할 수 있습니다.
  • 빠른 구성: Spring 초기화를 사용하면 프로젝트를 빠르게 생성하고 풍부한 솔루션을 제공하여 다양한 솔루션의 신속한 통합을 촉진하고 개발 효율성을 향상시킬 수 있습니다.
  • 간소화된 종속성: 풍부한 스타터를 제공하고 Maven 구성을 단순화하며 버전 호환성 문제를 방지합니다.
  • 원클릭 배포: Tomcat 및 Jetty와 같은 임베디드 서블릿 컨테이너를 실행 가능한 JAR 파일로 직접 패키징하고 독립적으로 실행할 수 있으며 Jenkins 및 Docker를 지원하여 자동화된 운영 및 유지 관리를 쉽게 실현할 수 있습니다.
  • 애플리케이션 모니터링: 서비스 상태를 쉽게 모니터링할 수 있는 액추에이터 모니터링 구성 요소가 함께 제공됩니다. Spring Boot Admin을 사용하면 모든 기능을 갖춘 애플리케이션 모니터링 시스템을 쉽게 배포할 수 있습니다.

일반적으로 Spring Boot를 사용하면 빌드, 코딩, 구성, 배포 및 모니터링이 매우 쉽습니다. Spring Boot는 최근 몇 년간 Spring 커뮤니티는 물론 전체 Java 커뮤니티에서 가장 영향력 있는 프로젝트 중 하나라고 할 수 있습니다.

Spring Boot를 처음 배우는 독자 여러분, 너무 어렵게 생각하지 마세요. Spring Boot는 새로운 언어나 기술이 아닙니다. 단지 기존의 인기 있는 프레임워크를 통합하고 "구성보다 관례"라는 원칙을 따르며 기본적으로 작동하므로 더 이상 이러한 번거로운 구성에 주의를 기울일 필요가 없습니다. 이 개념을 염두에 두고, 편안한 마음으로 Spring Boot를 학습할 수 있습니다.

"구성보다 관례"란 무엇입니까?

Spring Boot의 핵심 디자인 아이디어는 "구성보다 관례"라는 것을 알고 있으며, Spring Boot에서 제공하는 모든 스타터는 이 아이디어에 따라 구현됩니다. 그렇다면 "구성보다 관례"란 정확히 무엇입니까?

"Convention by Convention"이라고도 알려진 "Convention over Configuration"은 소프트웨어 개발자가 요구하는 구성 항목을 줄여 소프트웨어가 유연성을 잃지 않고 단순함을 유지할 수 있도록 하는 것을 목표로 하는 소프트웨어 설계 패러다임입니다.

본질적으로 시스템, 클래스 라이브러리 또는 프레임워크는 합리적인 기본값에 동의해야 하며, 개발자는 애플리케이션에서 계약을 준수하지 않는 부분만 지정하면 됩니다. 예를 들어, 모델에 Product라는 클래스가 있는 경우 데이터베이스의 해당 테이블 이름은 기본적으로 product로 지정됩니다. 이 규칙에서 벗어나는 경우에만 이 이름에 대한 구성을 정의해야 합니다(예: 테이블 이름 지정). 제품_정보.

간단히 말하면 "컨벤션이 구성보다 낫다"는 것은 컨벤션을 따르는 것을 의미합니다. 사용하는 도구의 합의된 구성이 요구 사항을 충족하는 경우 이 구성을 생략할 수 있습니다. 그렇지 않으면 관련 구성을 수정하여 원하는 대로 얻을 수 있습니다.

"구성보다 규칙"은 새로운 개념이 아닙니다. Maven, Spring, Grails, Grok, Apache Wicket 등을 포함한 많은 프레임워크가 "구성보다 규칙" 디자인 패러다임을 사용합니다.

Spring Boot는 "구성에 대한 컨벤션"이라는 Spring의 모범 사례 제품입니다. 구성 파일과 미들웨어의 기본 구성부터 내장 컨테이너와 Spring 생태계의 다양한 스타터에 이르기까지 모두 "구성보다 관례"라는 디자인 철학을 따릅니다. Spring Boot를 간단하고, 사용하기 쉽고, 시작하기 쉽게 만드는 것은 바로 단순화된 구성과 수많은 Starter 때문입니다. 또한 Spring Boot가 달성할 수 있는 "구성보다 관례"라는 디자인 아이디어를 철저하게 구현한 것이기도 합니다. 영광.

Spring, Spring Boot 및 Spring Cloud의 관계

Spring, Spring Boot 및 Spring Cloud의 지속적인 개발로 인해 점점 더 많은 개발자가 Spring 군대에 합류하고 있습니다. 초보자의 경우 Spring, Spring Boot, Spring Cloud의 개념과 이들 간의 관계에 대해 잘 알지 못할 수도 있습니다.

Spring은 오픈 소스 생태계이자 마스터입니다. 그 핵심은 IoC(Inversion of Control)와 AOP(Aspect Oriented 프로그래밍)입니다. Spring을 강력하게 만드는 것은 IoC와 AOP의 두 가지 핵심 기능입니다. Spring은 이 두 가지 핵심 기능을 계속해서 개발하고 성장하며 Spring MVC와 같은 일련의 성숙한 제품을 보유하고 있으며 마침내 강력한 Spring 생태 제국을 구축합니다.

Spring Boot는 Spring을 대체하기 위한 것이 아니라 Spring 애플리케이션의 생성, 실행, 디버깅 및 배포를 단순화하여 개발자가 Spring을 더 쉽게 사용할 수 있도록 하기 위해 개발되었습니다. 다양한 성숙한 서비스 프레임워크와 타사 구성 요소를 결합하고 "구성보다 관례"라는 설계 아이디어에 따라 이를 다시 패키징하고 복잡한 구성 및 구현을 방지하며 궁극적으로 개발자에게 간단하고 사용하기 쉬운 세트를 제공합니다. 구성 요소는 배포 및 유지 관리가 쉬운 분산 시스템 개발 툴킷입니다.

Spring Cloud는 Spring Boot를 기반으로 하는 분산형 마이크로서비스 프레임워크로, Spring Boot의 간단하고 사용하기 쉽고 편리한 기능을 사용하여 서비스 검색, 서비스 등록, 구성 센터 등 분산 시스템 인프라 개발을 단순화합니다. , 메시지 버스, 로드 밸런싱, 회로 차단기, 데이터 모니터링과 같은 기본 구성 요소를 모두 Spring Boot 개발 스타일을 사용하여 한 번의 클릭으로 시작하고 배포할 수 있습니다.

마이크로서비스 아키텍처를 사용하면 서비스 수가 매우 많아지고 관리가 특히 까다로워진다는 것은 모두 알고 있습니다. Spring Cloud는 이러한 마이크로서비스의 관리인이라고 할 수 있는 분산형 마이크로서비스 거버넌스 프레임워크입니다. Spring Cloud는 대규모 관리인으로서 서비스 간 통신, 회로 차단기, 모니터링 등 전체 마이크로서비스 시스템을 관리하고 유지하기 위한 다양한 구성 요소와 솔루션을 제공해야 합니다. Spring Cloud는 Spring Boot의 특성을 활용하여 오픈 소스 업계의 뛰어난 구성 요소를 통합하고 마이크로 서비스 아키텍처에서 일련의 서비스 거버넌스 솔루션을 제공합니다.

Spring Boot는 Spring Cloud에서 연결 역할을 합니다. Spring Cloud를 배우려면 Spring Boot를 배워야 합니다. 세 가지의 관계는 아래 그림과 같습니다.

스프링부트란 무엇인가?

그림 3 Spring, Spring Boot 및 Spring Cloud의 관계

우리는 이를 이렇게 이해할 수 있습니다. 강력한 Spring 생태계가 지속되는 것은 바로 IoC와 AOP의 두 가지 강력한 기능 때문입니다. Spring Boot 개발이 제거되었으며 Spring Boot 개발 및 배포가 단순화되어 Spring Cloud 마이크로서비스 거버넌스 솔루션이 완전히 구현되었습니다.

더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 교육을 방문하세요! !

위 내용은 스프링부트란 무엇인가?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.