Spring VS SpringBoot 배포의 차이
날짜: 2021년 7월 3일
학습목표
SpringBoot는 SpringMVC와는 달리, war파일이 아닌 jar파일로 빌드,배포할수 있다.
솔루션 포팅때문에 Spring프로젝트를 war파일로 빌드후 배포를 할줄 알아야하는 상황이 와서 따로 조사한적이 있었다. 참 간단하게도, 기본적인 웹애플리케이션의 디렉토리 구조만 지키면 WAS(톰캣이나 제우스등..)서버 실행시, 자동으로 실행해준다는것을 알았다. 여기서 궁금한것이, SpringBoot는 war파일이 아니라, jar파일로 배포되는데, 서버가 어떻게 jar파일을 인식하고 실행할까?.. 가 궁금해졌다.
- Jar파일은 서버에서 어떻게 구동되나??
Jar파일은 서버에서 어떻게 인식할까?
SpringBoot는 기존의 SpringMVC와 달리, WAS가 내장되어있다. (기본설정 = 톰캣) 즉, SpringBoot는 애초에 서버에 올라갈때, Java만 설치되어있으면 된다.
......
SpringMVC의 경우 war파일로 빌드 후, 서버컴퓨터의 WAS가 관리하는 디렉토리인 webapps 폴더에 파일을 올려두어야 했으나, 애초에 SpringBoot는 WAS가 내장되어 있으므로 Java가 설치된 서버라면 "/catalina.sh start" 등의 명령어가 아니라, java -jar XXXX 명령어를 실행하면 웹 애플리케이션이 구동된다.
Feedback
진짜 스스로가 멍청하다는것을 매일매일 깨닫는다. 낫놓고 기억자 모른다는 말은 왜 항상 나에게 해당되는 걸까.... 분명 SpringBoot가 WAS가 내장되어 있다는 것을 알고는 있었는데.... 정말 들어만 본 수준으로 알고있던 것이다... WAS가 내장된다는게 어떤의미를 가지는지 전혀 이해하지 못했고, 이해할 생각조차 하지 못했다...
알게된 점
- SpringBoot 웹애플리케이션은 java -jar XXXX 로 구동이 가능하다 ^.^,,,
알아야할 점
- -
References
'프로그래밍 > Java' 카테고리의 다른 글
정적 언어와 동적언어 그리고 덕 타이핑 (0) | 2021.07.22 |
---|---|
서블릿 (1) | 2021.07.12 |
Non-Blocking,Blocking VS Async,Sync (0) | 2021.06.19 |
네트워크 통신(2) (0) | 2021.06.15 |
네트워크 통신(1) (0) | 2021.06.15 |