스프링 vs 스프링 부트
![](https://velog.velcdn.com/images/yongseok0419/post/221ff688-e757-4c17-a436-fd0c2df7eb87/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/46c6ccd6-2172-4c4c-a1c0-84e3f2bd7ad8/image.png)
gradle 플랫폼
![](https://velog.velcdn.com/images/yongseok0419/post/b528395e-16d6-445e-b039-48d9694471fa/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/afb6ddda-ee60-46d3-8090-98f6d779a067/image.png)
개발 환경 구축
- SpringBoot(STS4 Downloads)
(단 버전은 최상위 버전이 아니라 4.11.1릴리즈로 다운로드 합니다.(최신버전시 자동완성 불가))
https://spring.io/tools
![](https://velog.velcdn.com/images/yongseok0419/post/062a788d-a75f-44df-b5a5-bf37fb865b0b/image.png)
- 마우스 휠을 아래로 내리다보면 PROJECT WIKI라는게 보이는데 클릭을 한다.
![](https://velog.velcdn.com/images/yongseok0419/post/db36e4eb-15de-4084-ad32-c1ff5d1f500c/image.png)
- 우측의 installation > Previous Releases Eclipse 를 클릭한다.
![](https://velog.velcdn.com/images/yongseok0419/post/6cad7862-098d-4d11-a2de-a136de064e56/image.png)
- Windows 에서 설치하려면 2번 째의 zip 파일을 다운로드 받는다.
![](https://velog.velcdn.com/images/yongseok0419/post/5f676d40-7e87-44a5-a06b-a26d365f39f2/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/454b0131-2c07-4688-a00a-e29fb4925dc5/image.png)
- 압축을 푼다.
![](https://velog.velcdn.com/images/yongseok0419/post/d731e6fc-a730-4b51-9829-765f7a44f8fa/image.png)
- STS4의 Workspace를 잡기위해 D 드라이브 아래에 D:\boot\work 폴더를 생성한다.
![](https://velog.velcdn.com/images/yongseok0419/post/c8f03519-0c79-4d59-8a82-2274556a3073/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/f98914b5-071c-4ea0-a134-40e2b901681e/image.png)
- STS4.exe 실행파일을 실행하여 Workspace를 잡아준다.
![](https://velog.velcdn.com/images/yongseok0419/post/9cf97d58-4ebb-4214-8462-0e054a5a46f7/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/182477e1-4642-48da-a87d-301abd7e73e1/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/bdc1883c-f119-4287-9d0b-5fa849f7578d/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/ab3c716d-851b-496f-b296-204b10ca4187/image.png)
마켓플레이스에서 플러그인 java web developer 설치
- STS4에서 상단의 Help 메뉴의 Eclipse Marketplace...을 클릭한다.
![](https://velog.velcdn.com/images/yongseok0419/post/a9778a23-e0db-473b-bf1e-fcca8aff531f/image.png)
- 아무검색을 하지 않아도 Eclipse Web Developer Tools 3.22가 보이는데 install 버튼을 클릭한다.
![](https://velog.velcdn.com/images/yongseok0419/post/7f8462eb-34be-4c5c-b77e-db358c8c1773/image.png)
- default인 채로 두고 Confirm > 버튼을 클릭한다.
![](https://velog.velcdn.com/images/yongseok0419/post/af7163db-0477-4328-b744-e88e3d3225b9/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/015d9151-caec-4491-9d21-b27887fad89f/image.png)
- 라이센스를 동의하고 Finish 버튼을 클릭한다.
![](https://velog.velcdn.com/images/yongseok0419/post/049a2e4f-8a6f-4ae3-9b54-e52a7993ff1c/image.png)
- 설치가 완료되면 Software Updates 창이 뜨게되는게 Restart Now 버튼을 클릭한다.
![](https://velog.velcdn.com/images/yongseok0419/post/abd047da-c4b0-4de9-beae-71829b88c435/image.png)
STS4 초기 Encoding 설정
- Windows > Preferences 를 클릭한다.
![](https://velog.velcdn.com/images/yongseok0419/post/f14d26a3-3c73-466e-ac40-f217dc342d15/image.png)
- enco를 입력하여 Workspace, CSS Files, HTML Files 를 모두 utf-8로 변경한다.
![](https://velog.velcdn.com/images/yongseok0419/post/01e2280a-3214-40be-9f6a-846b2adc7019/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/190a78b0-2e47-485a-a421-353441d4ba4d/image.png)
hello, world를 찍어보자.
- Create new Spring Starter Project 를 클릭한다.
![](https://velog.velcdn.com/images/yongseok0419/post/25b44c10-c8d4-432d-b3c9-2a967e7a6af3/image.png)
- 아래 빨간색 밑줄 친 부분만 변경한다.
![](https://velog.velcdn.com/images/yongseok0419/post/25b8d039-6cb9-4078-9746-5b20c8fe7447/image.png)
- Spring Boot Version을 2.6.10로 변경하고 Developer Tools의 Spring Boot DevTools에 체크하고 Web의 Spring Web에 체크하고 Finish 버튼을 클릭한다.
![](https://velog.velcdn.com/images/yongseok0419/post/ff3402a1-8bc3-4697-bc4a-7d27220dde44/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/ee4411df-f984-4c3b-a777-e7b81990a9bd/image.png)
** Spring Web은 Spring Boot에서 Web Project를 하기위해 반드시 체크해주어야하며 Spring Boot DevTools는 Web을 실행하기위해 필요한 도구를 불러오기때문에 마찬가지로 반드시 체크해주어야한다.
- 만든 프로젝트의 각 패키지, 폴더 등이 어떤 역할을 하는지 알려준다.
![](https://velog.velcdn.com/images/yongseok0419/post/88b801e7-267e-4891-9397-8bd409a5152e/image.png)
** 스프링 부트는 프로젝트를 실행할 수 있는 Server인 Tomcat이 내장되어있기때문에 따로 다운로드할 필요가 없다.
- build.gradle 파일은 기본적인 버전의 설정과 중앙 Repository에서 다운받아서 사용할 수 있는 dependencies를 추가할 수 있는 설정파일이다.
![](https://velog.velcdn.com/images/yongseok0419/post/fe47d549-cc51-4607-ab05-775ade5d5323/image.png)
- application.properties 파일에는 서버의 포트번호를 지정할 수 있다.
![](https://velog.velcdn.com/images/yongseok0419/post/bfdbe319-3510-4ccc-a608-b555320847b8/image.png)
- com.simple.boottest.controller 패키지를 생성하고 TestController 클래스를 생성한다.
![](https://velog.velcdn.com/images/yongseok0419/post/d685c3db-ccb8-46de-a388-f18e590e62b0/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/56f0c503-8085-48e2-bfff-acb61b3b6d6d/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/1ef156dc-7616-433e-b71b-b079b1bd9b8b/image.png)
- TestController 클래스에 "hello, world"를 출력
![](https://velog.velcdn.com/images/yongseok0419/post/0cedb585-8516-4434-8526-5141c94c85e0/image.png)
** @RestController는 지금은 간단하게 Ajax 통신과같이 비동기 통신으로 데이터를 주고 받을 수 있도록하기 위한 어노테이션이라고만 생각하자. 추후에 제대로 사용하게될 때 추가적으로 업로드할 예정이다.
- Spring Boot App을 실행한다.
![](https://velog.velcdn.com/images/yongseok0419/post/59aea9cd-c59a-47dd-9027-5ce97cbdceda/image.png)
- Spring Boot 는 기본적으로 views가 지정되어있지않기때문에 브라우저에서 해당경로로 직접 url창에 입력하여 들어가야한다.
![](https://velog.velcdn.com/images/yongseok0419/post/b41aa231-9f65-4058-aa95-c94776c939a2/image.png)
** 스프링부트는 서버를 한 번 실행시켜놓고 코드의 수정이후에 또다시 그냥 서버 실행을 하지않고 반드시 서버를 Stop 상태로 되돌린 후에 다시 Start 시켜야한다. 아니면 Restart를 해야한다.
(실행을 한 번 하고나서 바로 다시 서버를 실행하게되면 이미 서버가 실행되고있다는 에러가 발생하기때문이다. 아래 그림은 두 번 연속해서 서버를 실행했을 때 나타나는 에러 메세지이다.)
![](https://velog.velcdn.com/images/yongseok0419/post/8779c924-3015-41b2-8dd0-b652a94631fe/image.png)
**. STS4 우측하단부에 Enable / Disable Ansi Console 이라는 아이콘을 한 번 클릭하여 사용하지않는다.(Ansi Console을 사용 중이면 렉 유발 이슈가 발생하는 경우가 있기때문이다.)
![](https://velog.velcdn.com/images/yongseok0419/post/3bce44ce-5259-43d9-b763-6dfab758e531/image.png)