공부하는 블로그

Spring | Spring Boot Introduction 본문

Spring/Spring Boot

Spring | Spring Boot Introduction

치킨닮은닭 2020. 9. 20. 16:19

Spring Boot?

 스프링 프레임워크를 이용하면 어노테이션을 통한 DI와 AOP를 통해 개발자가 비즈니스 로직에만 집중하여 개발할 수 있다. 스프링 프레임워크가 이미 많은 문제를 해결하고 있음에도 불구하고 왜 스프링 부트(Spring Boot)가 나타나게 되었을까? 

 

 

Spring | Introduction

Spring Framework?  스프링 프레임워크(Spring Framework)는 자바 기반의 경량급 어플리케이션 프레임워크로서 자바를 이용한 어플리케이션 개발을 더욱 간편하게 해주는 틀이다. 줄여서 스프링이라고 ��

gongbu-ing.tistory.com

 스프링 프레임워크는 기능이 많은 만큼 xml파일을 이용한 환경설정이 복잡한 편이다. 이러한 불편함을 해결하기 위해 스프링 부트(Spring Boot)가 등장하게 되었다. 스프링 부트는 스프링 프레임워크와 동작하는 방식은 같지만 환경 설정에 대한 부분을 스프링 컨테이너가 수행하도록 하여 스프링 프레임워크에 비해 설정 코드가 많이 간소화 되었다.

 

 스프링 부트에서는 WAS 설정과 관련해서는 내장 톰캣(Tomcat)을 사용하므로 따로 톰캣을 설치하거나 버전 관리를 할 필요가 없다. 이로 인해 서버 구동시간이 절반 가까이 줄어들며, war가 아닌 jar 파일로 간단 배포가 가능하다.


※jar? war?

  jar : 자바 클래스 파일과 클래스 관련 리소스나 메타데이터를 압축 

  war : jar에 추가적으로 jsp, servlet 등 웹 애플리케이션용 데이터를 압축

출처  https://stackoverflow.com/questions/5871053/difference-between-jar-and-war-in-java


 내장 톰캣에서 더 나아가 starter package를 통해 dependency 자동화가 가능하다. starter가 대부분의 dependency의 버전을 관리하기 때문에 호환되는 버전을 개발자가 일일이 맞추어야 할 필요가 없이 권장버전으로 자동 설정된다. 또한 starter package에 bean에 대한 설정이 포함되어 있어서 따로 configuration 파일을 만들 필요가 없어진다.

 

  마지막으로, xml파일을 통한 configuration은 application.properties나 application.yml 파일로 간단하게 설정하여 이용이 가능하다. 


※ application.properties vs application.yml

 yml 파일의 경우, depth를 이용하여 파일 내용을 구분하기 때문에 코드의 중복을 제거할 수 있고 가독성이 좋다. 아래의 예시를 살펴보자.

 

application.properties와 application.yml의 비교



References

 

- Spring Framework vs Spring Boot : ooeunz.tistory.com/56

- Spring boot 정리 : velog.io/@kyle/Spring-boot-%EC%A0%95%EB%A6%AC

- [10분 테코톡] Spring vs Spring Boot : www.youtube.com/watch?v=6h9qmKWK6Io

Comments