Spring Boot

AWESOMee·2022년 7월 21일
0

Spring Boot

목록 보기
1/4
post-thumbnail

Spring Framework와 Spring Boot의 차이점

  • 간단한 라이브러리 관리
    • 스프링 프레임워크에서는 pom.xml에 라이브러리 의존성을 직접 주입해야 했지만 스프링 부트에서는 start project에서 필요한 라이브러리 의존성을 선택해서 사용한다.
  • 내장 톰캣
    • 프레임워크에서는 톰캣을 직접 다운받아 설정해줬어야 했는데 부트에서는 기본적으로 톰캣이 내장되어 있어 간단한 설정만 해주면 된다.
  • 확장된 Annotation
    • 스프링부트는 스프링프레임워크에 비해 다양한 Annotation 제공
    • API개발에 특화된 @RestController나 RequestMethod에 따른 @GetMapping, @PostMapping, @PutMapping 등 제공
  • 빌드 툴
    • 스프링 프레임워크에서는 maven 빌드툴을 사용했지만 스프링부트에서는 maven이나 gradle 중 하나를 빌드툴로 선택하여 사용

빌드와 빌드툴

빌드

  • 개발을 할 때 작성한 java파일이나 설정파일 xml, 또는 jpg 등 개발에 들어간 모든 파일들을 JVM이나 WAS가 인식할 수 있는 구조로 패키징하는 과정 및 결과물

빌드툴

  • 프로젝트를 생성, 테스트 빌드, 배포 등 작업을 위한 전용 프로그램
  • 기존 JSP/Servlet 프로젝스에서는 Ant 빌드툴이 많이 사용됨
  • 프레임워크에서는 maven, 부트에서는 gradle이 가장 많이 사용됨

API, RestAPI

  • API: Application Programming Interface의 약자로 어플리케이션에서 제공하는 인터페이스를 의미
  • RestAPI: Representational State Transfer API의 약자로 다양한 기기에서 받아볼 수 있는 API를 제공(대표적으로 json 형태의 데이터를 전달해줌)

thymeleaf

  • 기존에 jsp(Java Server Page)는 서버 사이드 view 템플릿으로 서버에서 보내주는 데이터를 동적으로 el표기법이나 jstl구문으로 사용 가능
  • HTML은 서버에서 보내주는 데이터를 동적으로 사용 불가능
  • thymeleaf라는 템플릿엔진은 서버사이드에서 동작하여 html에 서버에서 보내준 데이터를 동적으로 사용할 수 있도록 해줌
  • thymeleaf의 장점
    • jsp는 수정될 때마다 WAS에서 컴파일하여 클래스로 만들어줘야함
    • 클래스로 만드는 과정에서 WAS의 리소스를 사용하게 되는데 thymeleaf를 사용하면 html로 화면단을 구현할 수 있어서 WAS의 리소스 사용을 줄일 수 있음

lombok

  • Annotation을 이용하여 중복 작성하는 코드를 줄여주는 라이브러리
  • VO나 DTO 클래스에 getter, setter메소드 등을 Annotation으로 선언한다.

RestController

  • @RestController로 클래스를 지정하면 그 클래스들 안에 존재하는 모든 메소드들이 @RespenseBody로 지정되어 화면이 아닌 데이터 자체를 반환
  • 스프링부트는 데이터 반환 시 화면이 아닌 데이터 자체를 반환
  • 스프링프레임워크에서 JSON 데이터로 변환했던 작업이 필요없어짐
profile
개발을 배우는 듯 하면서도

0개의 댓글