스프링부트 어플리케이션 구조
Spring Framework App(Lagacy Project)과 SpringBoot App의 차이
일반적인 웹 앱의 개발은 '앱과 별도로 서버를 준비하고 거기에 배포하는 것'이다.
즉, 별도 서버를 두고 개발한 앱을 거기에 추가해서 실행시키는 방식이다.
지금까지 JSP나 서블릿을 사용해서 웹 앱을 개발하는 방법들을 주로 사용했는데,
이 방식들이 '웹 앱을 완성하면 WAR 파일을 만들어서 톰캣 등의 서버에 추가'하는 방법이었다.
Spring Boot는?
하지만 스프링 부트는 자바 서버를 필요로 하지 않는다. 스프링 부트에 자바 서버가 내장되어 있으며 그것을 사용해서 직접 서버를 가동해서 어플리케이션을 실행한다. 따라서 '서버에 배포'하는 과정이 필요 없다.
Spring Stater Project의 pom.xml
pom.xml 파일은 메이븐의 빌드 정보를 담고 있는 파일이다.
기존의 Lagecy project와 비교해서 Spring boot에만 있는 태그가 있다.
<parent>
- pom.xml의 상속에 관한 설정정보이다
- 메이븐에서는 기존 pom.xml 내용을 상속해서 새로운 pom.xml을 작성할 수 있다.
<build>
- 프로그램 빌드시에 사용하는 기능 정보를 지정한다
<plugin>
- 빌드 시에 사용할 플러그인 프로그램 관련 정보를 지정한다
- spring-boot-maven-plugin
- Spring boot application을 단독으로 실행할 수 있게 해주는 플러그인이