본문 바로가기

스프링

[Spring Boot -1] 스프링 부트 장점과 그 이유

반응형

과거 2년간 개발했던 기억을 되짚어보면 레거시 프로젝트는 정말 설정이 복잡하고 피곤했다.

 

대부분의 프로젝트는 스프링 부트의 기반으로 개발을 하게 되었고

초기 설정을 팀원이 작업해 주거나, 외부 라이브러리를 붙여야 할 때 또는 

자동으로 잡아주는 설정을 추가로 작업해줘야 할 때만 설정 코드를 보곤 했다.

 

앞으로도 스프링 부트를 이용할 텐데 편하니까 사용한다 라는 생각으로 계속해서

개발자를 한다고 하기엔 부끄러운 것 같아 오늘부터라도 다시 확인해볼까 한다.

 

 


 

1. 스프링 부트는 뭘까?

기본적으로 스프링의 개념부터 짧게 보면 Java 개발을 편하게 해주는 프레임워크이다.

거기서 한발 더 나아가, 스프링 부트는 스프링의 설정을 간편하게 처리해 주는 프레임워크이다.

 

2. 장점과 그 이유는 뭘까?

 

- 내장 서버

개발 시 톰캣 파일을 찾아 톰캣을 물려 서버를 켰던 과거는 잊고 아래 코드만 작성해 주면 된다.

build.gradle

implementation 'org.springframework.boot:spring-boot-starter-web'

 

자세한 내용은 https://hyuuny.tistory.com/210 더 공부해 봐야겠다.

 

- 의존성 관리

위 gradle 코드처럼 의존성 관리하기가 너무 편하다.

maven으로도 스프링 부트 설정이 물론 가능하지만.. 쨋든 왕 좋음

 

- 설정 간소, 자동화

db 연동을 하려고 해도 application.properties 에 몇 줄 적어주면 연결이 가능하다.

정말 편하다

 

- 배포의 편리함

jar 파일로 패키징 후 jdk 만으로도 배포가 가능하다.

만약 war파일로 배포하려고 한다면 웹 서버도 세팅해야 하고 크기도 크고..

그렇다고 해서 스프링 부트는 무조건 jar 다! 도 아니기 때문에 스프링 부트가 배포가 편리해서 좋아요?

그럼 war는 배포 지원 안 하나요? 이렇게 생각해선 안된다. 

 

jar는 JRE만 있어도 프로젝트가 구동 가능하기 때문에
(다르게 말해서 웹 서버 또는 웹 컨테이너 세팅이 필요 없기 때문에)
편한 거고 만약 웹 서버나 컨테이너가 외부라고 하면  war로 배포해야 함.

막상 war로 배포한 뒤 jsp 오타 수정할 거면 war가 속 편한 점도 많음 ㅎㅎ;

 

 


 

이렇게 대략적으로 장점과 그 이유에 대해서 알아봤다.

다음 글로는 내장 서버는 어떤 식으로 움직이는지, 설정이 간소화되고 자동화되는데

기본적으로 어떤 설정이 그렇게 되는지에 대해 자세히 알아볼 예정이다.

 

 

반응형