웹 개발

spring boot를 사용해야 하는 이유

노루아부지 2020. 12. 4. 17:51
  1. Spring은 정말 편하고 좋은 프레임워크이지만 초기 설정이 정말 어려웠습니다. 실제로 스프링을 사용하면서도 왜 이렇게 쓰는지 모르고 쓰는 경우가 많았고, 심지어 자신이 세팅한 세팅한 빈 프로젝트에 설정을 다 해놓고 새로운 프로젝트를 그 빈 프로젝트를 복사 붙여 넣기 해 프로젝트를 생성했습니다. 그에 반해 Spring boot는 기본적으로 spring framework 개발자가 해야만 하는 많은 설정들을 생략해도 괜찮습니다. 기본 logback이 설정되어 있으며 spring-boot-web-stater 같은 라이브러리에는 다수의 개발자들이 반복적으로 하던 설정들이 기본 default로 잡혀있습니다. 
  2. 프로젝트마다 일반적으로 설정하게 되는 사항들을 이미 내부적으로 가지고 있고 개별적으로 차이가 나는 부분만 따로 설정하면 됩니다. DB Driver, 트랜잭션 등 당연히 들어가야 하는 것들은 알아서 처리됩니다.
  3. Spring Security, Spring data JPA와 같이 다른 Spring Framework 구성 요소를 쉽게 가져다 쓸 수 있습니다.
  4. Tomcat이나 Jetty, undertow, netty 등을 기본 내장할 수 있습니다. 이로 인한 다음과 같은 장점이 있습니다.
    1. 기본적인 설정이 이미 되어있어 별다른 설정 없이 톰캣같은 was를 실행할 수 있습니다.
    2. 웹 프로젝트를 띄우는 시간이 외부 Tomcat으로 띄우는 시간보다 단축됩니다.
    3. 이렇게 서블릿 컨테이너가 내장될 수 있으므로 프로젝트를 jar 파일 형태로 간단히 만들어 배포할 수 있습니다.
    4. 확실한 건 아니지만 내장 톰캣이 외장 톰캣보다 알 수 없는 장애를 내는 비율이 더 적다고 합니다.
  5. Spring boot가 권장 버전을 관리하기 때문에 maven pom.xml에서 의존 라이브러리의 버전을 일일이 지정하지 않아도 됩니다.

 

 

그밖에 Spring Boot를 사용할 때 개발이나 유지보수에 도움을 주는 몇가지가 있습니다.

  • spring-boot-starter-actuator: 애플리케이션 추적하거나 모니터링하는 등의 기능을 사용할 수 있도록 합니다.
  • spring-boot-starter-undertow, spring-boot-starter-jetty, spring-boot-starter-tomcat: 내장된 서블릿 컨테이너를 선택할 수 있도록 합니다.
  • spring-boot-starter-logging: logback 을 사용해서 로깅할 수 있도록 해줍니다.
  • spring-boot-starter-log4j2: Log4j2 를 사용해서 로깅할 수 있도록 해줍니다.
728x90
loading