2020. 5. 24. 15:52ㆍ스프링부트
저는 일단 '스타트 스프링 부트' 책을 기반으로 스프링 부트를 시작해보려고 합니다.
책에서는 Windows10 을 기준으로 설명을 한다는데,
저는 Mac 사용자이기 때문에 책을 보면서 막히는 부분은 구글링을 해가면서 진행해나갈 예정입니다.
1. 이클립스 상단 메뉴바에서 'Help - Eclipse Marketplace' 선택합니다.
2. 위의 메뉴를 클릭하면, 팝업창이 뜨는데 거기서 Popular탭을 클릭 후 'Spring Tool Suite ...'을 찾아서 설피버튼을 클릭합니다.
(캡처를 할라했는데,, 이미 설치되서 그런지 없어졌네여,,, 캡처는 그냥 스킵)
3. 기존의 이클립스에 추가적으로 플러그인의 형태로 추가할 경우 Confirm Selected Features 하단의 체크박스를 모두 체크 후 설치해 준 뒤 이클립스를 재시작해줍니다.
4. 'File - New - Others'를 선택합니다.
5. 'Spring Starter Project' 클릭 후 Next버튼을 클릭합니다.
6. 아래와 같이 설정 후 'Next'버튼을 클릭합니다.
'Name(프로젝트이름)' - 'boot01'으로 설정(원하는 이름으로 가능)
'Type(라이브러리 관리도구)' - 'Maven' 설정(Gradle로 설정해도되지만 추가 설정필요)
'Packaging'도 - 'War(웹어플리케이션)'로 설정 ('War'로 지정하면 Tomcat을 내장된 형태로 사용할 수 있기 때문에 별도의 WAS없이 개발과 테스트가 가능합니다.)
'Group'과 'Package'는 원하는 이름으로 동일하게 설정
7. Spring Boot Version을 선택 - 'Developer Tools'에서 'Lombok'를 체크 - Finish버튼 클릭 후 프로젝트생성을 완료해주세요.
Lombok'은 getter/setter 등을 자동으로 생성해 줍니다.
(그런데 책에선 'Web'항목에서 'Spring Web Starter'를 체크해주라는데 전 버전이 달라서인지 몰라도 없더라구요..
프로젝트 생성하고 'pom.xml'에서 dependency 확인해봤는데
이미 자동으로 Spring Web Starter가 있더라구요..
이유는 안찾아봐서 잘 모르겠어요...헿)
8. 아래는 생성된 프로젝트 모습입니다.
9. 이번엔 프로젝트가 잘 돌아가는지 확인해보기 위해 프로젝트를 실행해보려고 하는데요
상단 메뉴 'Run - Run As - Spring Boot App' 클릭한 후 로그를 확인해봅니다.
10. 포트변경 방법을 알아보겠습니다.
스프링 부트에서 사용되는 Tomcat은 기본적으로 8080포트를 이용해서 실행하도록 되어있는데
충돌하는 경우가 발생할 수 있기 때문에 그럴 경우 사용 중인 포트번호를 변경해줘야 합니다.
저는 프로젝트 실행시 아래와 같이 포트충돌에러 났기 때문에 포트변경을 해보도록 하겠습니다.
11. 프로젝트를 생성할 때 만들어진 'application.properties'파일에 'server.port=8000'(변경할 포트번호)를 입력한 뒤
로그를 확인해보면 아래와 같이 기존포트 '8080'에서 '8000'으로 변경된 것을 확인할 수 있습니다.
11. 스프링 부트가 정상적으로 동작한다면, 스프링 MVC의 컨트롤러를 빈으로 추가해서 정상적으로 동작하는지 확인해보겠습니다.
'boot01'프로젝트에 'org.zerook.controller.SampleController'를 생성해주고 아래와 같이 코드를 작성해줍니다.
그런데도 포트에러가 발생하면서 계속 실행이 제대로 되지 않더라구요.
그래서 에러해결방법은 하단 링크에 정리해보았습니다.참고해주세요.
12. 에러가 해결되었면 웹브라우저에 url을 입력하면 아래와 같은 내용을 확인할 수 있습니다.
('server.xml'에 있는 내용을 지우고 저는 기본 포트 8080을 다시 사용합니다..)
아래와 같이 실행되었다면 성공입니다!
참고 : 스타트스프링부트(교재-구멍가게코딩단/남가람북스)
'스프링부트' 카테고리의 다른 글
[스프링부트] 톰캣 설치 및 실행 (0) | 2023.04.04 |
---|---|
[스프링부트] 4. MySQL 사용자계정생성과 DataSource 설정 (0) | 2020.05.31 |
[스프링부트] 3.스프링부트 프로젝트의 실행과 테스트 (0) | 2020.05.27 |
[스프링부트] 2. Lombok 라이브러리 (0) | 2020.05.24 |