SpringBoot란 무엇인가?

devdo·2021년 12월 30일
1

SpringBoot

목록 보기
1/41
post-thumbnail

스프링 프레임워크를 잘 쓰게 도와주는 도구의 모음!

☑️서블릿 컨테이너와 관련된 모든 번거로운 작업을 감춰줌!

🔻 Spring Boot는 간단하게 Run 할 수 있으며, 프로덕션 제품 수준의 스프링 기반 어플리케이션을 쉽게 만들 수 있게 해준다.
(main class Run)

🔻 Spring Boot 어플리케이션에는 예전 Spring 구성과 같은 번거로운 설정작업이 거의 필요하지 않다.
(내장 톰켓, 디팬더시 버전 자동 다운로드(AutoConfiguration))

🔻 Spring Boot java -jar 로 실행하는 Jar 파일을 만들 수 있다.

☑️ 스프링과 각종 기술의 주요 인프라스트럭처 빈을 자동구성(AutoConfiguration)을 통해 자동으로 등록해줌!
☑️ 외부설정, 커스텀 빈 등록을 통해서 유연하게 확장 가능!


스프링 프레임워크

  • 빈 오브젝트의 생명주기를 관리하는 컨테이너

  • 빈 오브젝트의 의존관계를 동적으로 주입해주는 어셈블러

  • 구성 정보(configuation metadata)와 어플리케이션 기능을 담은 오브젝트가 결합되어 동작하는 어플리케이션이 된다.

  • @Configuration, @Bean, @Import를 이용한 구성정보를 작성 -> xml or javaConfig or application.properties(springBoot)

  • 메타 에노테이션, 합성 에노테이션 활용


주요 목표

1) Spring 개발에 대해 빠르고, 광범위하게 적용할 수 있는 환경

  • 빌드 구성을 단순화 하기 위한 스프링 부트 스타터 의존성 제공

스프링 부트에서 스타터란 설정을 자동화해주는 모듈을 의미한다. 프로젝트에서 설정해야 하는 다양한 의존성을 사전에 미리 정의해서 제공한다. 따라서 프로젝트에서 설정해야 하는 다수의 의존성들을 스타터가 이미 포함하고 있기 때문에 스타터에 대한 의존성만 추가하면 프로젝트는 쉽게 진행할 수 있다.


2) 기본값 설정이 있지만 설정을 바꿀 수 있다.
(application.properties or yaml 파일로 설정 가능)

  • yaml 파일 또는 Java 코드로 구성할 수 있음
  • XML 구성 요구사항이 전혀 없음

3) 대규모 프로젝트에 공통적인 비 기능 제공 (보안, 모니터링 등등)

  • 애플리케이션의 모니터링으로 스프링 액츄에이터 제공

서비스를 운영하려면 서비스 개발뿐 아니라 정상적으로 동작하고 있는지 상태를 모니터링해야 한다. 스프링 액츄에이터는 스프링 부트 애플리케이션에서 제공하는 여러 가지 정보를 손쉽게 모니터링할 수 있도록 도와주는 라이브러리이다.


사용법

🔻 spring initializr

여기서부터 설정 시작!(커뮤니티 버전에서는 여기서 직접 디팬더시를 가져와야 한다.)

https://start.spring.io


스프링 부트 더 알아가기

✅ 스프링 부트의 코어 (Profile, Logging, Testing...)

✅ 핵심 기술 영역 (Web, Data, Messaging, IO...)

✅ 운영환경의 모니터링, 관리 방법

✅ 컨테이너, 배포, 빌드 툴

✅ 스프링 부트 3.x

✅ 스프링 프레임워크와 자바 표준, 오픈소스 기술


스프링 부트 3.0

✅ Spring 6
✅ JDK 17 또는 그 이상
✅ Jakarta EE 9, 10

SpringBoot 2.X -> 3.0으로 업그레이드
• build.gradle의 스프링 부트 버전 수정
• Jakarta EE의 패키지명으로 변경(자바 )
• SpringMVC의 바뀐 동작 방식 적용 - 타입 레벨 단독
@RequestMapping 문제

☑️ Jakarta EE 란?

  • 오라클이 Java EE의 개발을 중단하고 이클립스 재단에 이관
  • 오라클이 "Java"라는 이름의 상표권을 보유하고 있어, 패키지명이 javax.에서 jakarta.로 변경됨


참고

<토비의 스프링>

profile
배운 것을 기록합니다.

0개의 댓글