Spring Boot를 알아보자!

Karim·2021년 12월 13일
12

SpringBoot

목록 보기
1/15
post-thumbnail

1. Version

💬

  • spring boot : 2.6.1

2. Spring 이란

💬 spring 개념

  • 자바 기반의 웹 어플리케이션을 만들 수 있는 프레임 워크이다.
  • 자바 객체와 라이브러리들을 관리해주며, 톰캣과 같은 WAS가 내장되어 있어 웹 어플리케이션을 구동할 수 있다.

💬 spring 특징

  • DI (의존성 주입)

    1. 컨테이너에서 관리할 객체를 지정해주고, 코드내에서 객체를 받아 사용하는 방식이다.
  • IOC (제어의 역전)

    1. 객체의 생성부터 소멸까지 객체의 모든 생명주기를 개발자가 아닌 스프링 프레임워크(IoC 컨테이너)가 주체가 되어 담당한다.
    2. new 키워드를 사용하지 않아도 스프링에서 객체를 생성할 수 있도록 해준다.

3. Spring Boot 란

💬 spring boot 개념

  • 스프링을 더 쉽게 이용하기 위해 커맨드 도구를 제공하고 톰캣이나 제티 같은 내장 서버를 통해 복잡한 설정과 실행을 간소화 한 것이다.

💬 spring boot 특징

  • 라이브러리 관리 자동화
    1. Starter 라는 것을 이용해 특정 기능에 필요한 라이브러리 의존성을 더욱 간단히 처리할 수 있다.
  • 설정의 자동화
    1. 프로젝트에 추가된 라이브러리를 기반으로 실행에 필요한 환경을 자동으로 설정한다.
    2. 개발에 필요한 라이브러리들을 추가하면 알아서 인지해 관련된 스프링 설정을 자동으로 처리해주기 때문에 따로 복잡한 설정을 하지 않고도 개발이 가능하다.
  • 라이브러리 버전 자동 관리
    1. 스프링 부트 버전에 해당하는 스프링 라이브러리뿐만 아니라 서드 파티 라이브러리들도 호환 버전으로 다운로드 해준다.
  • 테스트 환경과 내장 Tomcat
    1. Junit와 같은 테스트 관련 라이브러리들이 기본적으로 포함되어 있어 단위 테스트가 용이하다.
    2. Tomcat 서버를 내장하고 있어 main() 메소드를 가진 calss를 실행하는 방식으로 서버를 구동하기 때문에 실행결과를 빠르게 확인할 수 있다.
  • 독립적으로 실행 가능한 JAR
    1. 독립적으로 실행 가능한 애플리케이션을 빠르게 개발하는 것을 목표로 하기 때문에 웹 애플리케이션도 WAR가 아닌 JAR파일로 패키징 하여 사용할 수 있다.

4. Spring Boot 구조

💬 spring boot 구조 그림

💬 Controller

  • 웹 브라우저의 요청을 전담하여 처리한다.
  • Controller가 Service를 호출한다.

💬 Service

  • 비지니스 로직을 수행한다.
  • DB에 접근하는 DAO를 이용해서 결과값을 받아 온다.

💬 DAO

  • DB에 접속하여 비즈니스 로직 실행에 필요한 쿼리를 호출한다.

💬 DB

  • 알맞은 쿼리를 실행하고 결과값을 반환한다.

💬 DTO

  • Data Transfer Object의 약자
  • 각 계층이 데이터를 주고 받을 때 사용하는 객체이다.
  • Getter, Setter

💬 VO

  • read-Only가 특징
  • 사용하는 도중에 변경 불가능하며 오직 읽기만 가능합니다.
  • Getter

📚 참고

profile
나도 보기 위해 정리해 놓은 벨로그

2개의 댓글

comment-user-thumbnail
2021년 12월 23일

스프링 처음 공부할 때 봤었으면 엄청 도움 됐을 것 같아요.
스프링 개념도 그렇고 설계 구조도 간략히 잘 정리하셨네요👍👍

1개의 답글