본문 바로가기
WebProgramming/SPRING

[Spring Boot]1.Spring Boot?

by Dogf 2020. 5. 19.
반응형

스프링 프레임워큰 로드 존슨(Rod Johnson)이 집필한 EJB 없는 J2EE개발이라는 책에서 처음 소개 되었으며, EJB(Enterprise Java Beans)라는 무겁고 복잡한 플랫폼에서 벗어나 POJO(Plain Old Java Object)를 기반으로 하는 경량의 환경을 제공한다.

 

스프링 프레임워크가 처음 등장했을 때는 단순히 애플리케이션 운용에 필요한 객체들을 생성하고, 객체들 사이에 의존성을 주입해주는 단순한 컨테이너로서의 기능만 제공했다.

 

기존 스프링은 다양한 프레임워크와 기술들을 지원하면서 동시에 개발자가 처리해야하는 설정도 많아지고 복잡해졌다.

 

이런 복잡하고 방대한 설정에 대해 부담을 느낄 수 밖에 없으머, 복잡한 설정에서 발생한 문제를 수정하는 데 많은 시간과 노력을 들일 수 밖에 없다.

 

이러한 문제를 해결하기위해 스프링 프레임워크의 서브 프로젝트로 스프링 부트가 만들어 졌다.

 

스프링 부트는 스프링 프레임워크를 사용 가능한 상태로 만들어주는 도구 정도로 이해할 수 있다.

 

 

스프링 부트의 장점

 

라이브러리 관리 자동화 - 스타터를 통해 특정 기능에 필요한 라이브러리 의존성 을 더욱 간단하게 처리할 수 있다.

 

설정의 자동화 - 프로젝트에 추가된 라이브러리를 기반으로 실행에 필요한 환경을 자동으로 설정해준다.

 

라이브러리 버전 자동 관리 - 스프링 부트 버전에 해당하는 스프링 라이브러리 뿐만 아니라 서드 파티 라이브러리들도 호환되는 버전으로 다운로드 해준다.

이기능 덕분에 라이브러리의 버전이 높거나 낮아서 정상적으로 동작하지 않는 상황을 겪을 필요가 없다.

 

테스트 환경과 내장 톰캣 - 스프링 부트로 생성한 프로젝트에는 JUnit을 비롯한 테스트 관련 라이브러리들이 기본적으로 포함되어 있다. 톰캣 서버를 내장하고 있어서 단지 main()메소드를 가진 클래스를 실행하는 방식으로 서버를 구동하기 때문에 빠르게 실행 결과를 볼수 있다.

 

독립적으로 실행 가능한 JAR - 독립적으로 실행 가능한 웹 애플리케이션도 WAR가 아닌 JAR 파일로 패키징하여 사용

 

지속적으로 스프링 부트와 같은 프레임워크가 개발 됨으로써  개발자들은 개발에만 집중할 수 있는 환경이 계속해서 발전해 나가고 있는 것으로 보인다.

 

반응형

댓글