본문 바로가기

Back-end & Server/Spring Boot with Kotlin

[Spring Boot] 스프링 부트 개요

728x90
반응형

 

Spring Boot를 알기전에 Spring Framework에 대해 설명하겠다.

Spring이란 엔터프라이즈용 Java Application 개발을 편하게 할 수 있는 오픈소스 경량급 애플리케이션 Framework이다.

 

Spring을 사용하는가? 

  • 오픈소스이다.
  • Alibaba, Amazon, Google, Microsoft 등의 거대 기업들이 사용하고 있고 대한민국에서 대부분의 웹 서비스들은 Spring을 사용하여 서비스된다.
  • Spring은 여러가지 확장이 존재하며 이를 통해 여러가지 애플리케이션을 구축할 수 있다.
  • (경량급)빠른 시작, 빠른 종료 및 최적화된 실행을 할 수 있다.
  • POJO(Plan Old Java Object)를 지향한다(= Java와 Java의 스펙에 정의된 기술만 사용, 외부에 의존하지 않음).
  • loC/DI(Inversion of Control / Dependency Injection, 제어의 역전 / 의존성 주입)
  • AOP(Aspect Oriented Programming, 관심 지향 프로그래밍) - 코드 중복 제거
  • PSA(Portable Service Abstraction, 일관된 서비스 추상화) - 특정 기술과 관련된 서비스를 추상화, ex. JDBC

 

그래서 Spring Boot란 무엇인가?

스프링에서 설정하던 복잡한 설정들을 간편하게 처리해주는 별도의 프레임워크이다.

  • 초기 설정이 쉽다.
  • 자체적인 웹 서버를 내장하고 있어, Spring을 사용할 때보다 빠르게 배포를 진행할 수 있다.
  • 독립적으로 실행 가능한 Jar 파일로 프로젝트를 빌드 할 수 있다.

 

시작하기

시작하기 전에 요구사항이 있다.

1. JDK 설치(본 포스트에서는 JDK17 사용)

2. JAVA_HOME이 환경 변수로 설정되어 있어야한다.(Window)

3. IDE 설치(IntelliJ, ..)

4. https://start.spring.io/ 에 접속하여, 아래와 같이 내용을 입력한다.

  • Project : 빌드 툴
  • Language : 프로젝트에 사용하고자 하는 프로그래밍 언어
  • Spring Boot : 스프링 부트의 버전을 선택, 버전 이름 뒤에 아무것도 붙지 않은 버전중, 가장 최신 버전 선택
    • SNAPSHOT : 아직 개발이 완료되지 않은 버전
    • M(Milestone) : 개발은 완료, 버그를 수정하고 있는 버전
    • RC(Release Candidate) : 기능 개선, 버그 수정 완료, 최종 릴리즈는 되지 않음

 

  • Project Metadata : 프로젝트의 정보를 입력
    • Group : 프로젝트를 만드는 그룹의 이름으로, 보통 기업의 도메인 명을 역순으로 입력
    • Artifact : 빌드 결과물
    • Name : 프로젝트의 이름
    • Description : 프로젝트에 대한 간략한 설명 입력
    • Package name : 프로젝트에 생성할 패키지를 설정
    • Packaging : 배포를 위해 프로젝트를 압축하는 방법 선택
    • Java : 작업환경의 JDK 버전을 선택

 

  • Dependencies : 프로젝트를 통해 만들 애플리케이션의 동작에 필요한 라이브러리들을 선택

 

Generate를 누르면 프로젝트가 생성되고 파일이 다운된다.

파일의 압축을 풀고 IDE에서 workspace로 설정하고 연다.

 

src > main > ~ > .kt 파일을 실행해 서버를 실행 시킨다.

 

728x90
반응형