좋은 코드를 많이 보아야 좋은 코드를 작성할 수 있을것 같아 스프링 공식 예제 프로젝트인 "PetClinic"을 내려받았다.
프로젝트의 시작은 세팅이 반에 가까울 정도로 중요하기에, 프로젝트 세팅과정을 정리해봤다.
0. 시작하기에 앞서
[프로젝트 환경]
- framework: Spring Boot 2.5.5
- server: Apache Tomcat/9.0.53
[실습 환경]
- os: Windows 10
- ide: IntelliJ
- java: OpenJDK 17
1. git clone
github에 올라온 프로젝트를 로컬에서 띄우기 위해 IntelliJ에서 clone을 해보자.
IntelliJ의 get from VCS - Repository URL 메뉴에서 다음 주소와 저장할 directory를 입력하기만 하면 된다.
https://github.com/spring-projects/spring-petclinic.git
2. run
2_1. git config core.autocrlf true --global
: Windows환경에서만 필요한 세팅이다.
Linux 환경에서는 개행문자로 /n (LF)을 사용하고 Windows 환경에서는 /r (CR)를 사용하기 때문에 해당설정을 바꿔주지 않으면 소스파일을 수정하지 않았는데도 불구하고 git commit시에 수정파일인 것처럼 체크된다.
터미널에서 위의 명령어를 입력하여 autocrlf true 설정으로 기존 파일에서 사용하고 있는 방식을 사용하도록 허용하자.
[참고] https://www.lesstif.com/gitbook/git-crlf-20776404.html
2_2. ./mvnw spring-boot:run
: 터미널에서 위의 명령어를 입력하여 빌드 및 실행하고, 인터넷 브라우저에서 http://localhost:8080/ 만 입력하면 끝.....
다른 방법으로 터미널에서 빌드만 수행한 뒤에 프로젝트를 실행할 수도 있는데, 이 때는 다음의 명령어를 사용한다.
(1) ./mvnw package
** 이 때, "spring Formatting violations found in the following files" 에러가 발생한다면, 이는 생성자를 통해 빈 객체를 주입하는 방식만 허용되어 발생하는 문제이므로 다음 명령어를 수행해주면 된다. -> ./mvnw spring-javaformat:apply
[참고] https://www.inflearn.com/questions/21647
(2) java -jar target/spring-petclinic-2.5.0-SNAPSHOT.jar
빌드에 성공한 뒤에 target 폴더 내에 생성된 jar를 실행하면 앞의 방법과 동일하게 프로젝트의 웹 화면을 띄울 수 있다.
[추가] mvnw란?
mvn은 스프링 프로젝트에서 쓰이는 의존성 관리도구이다. 그렇다면 mvnw는 무엇일까?
mvnw란 Maven Wrapper를 뜻한다. Spring Starter Project를 생성하면 만들어지는 mvnw, mvnw.cmd 파일들이 여기에 포함되는데, 로컬에 따로 maven을 설치하지 않고도 사용할 수 있도록 해준다. 또한 maven의 버전관리를 해준다.
'Programming > Spring Framework' 카테고리의 다른 글
[SpringBoot] 공통 Response 포맷 적용하기 (1) | 2022.01.14 |
---|---|
[SpringBoot] Enum타입을 DB에 변환 저장하는 법 (0) | 2021.12.19 |
[SpringBoot] Mybatis를 사용한 Service 테스트 코드 작성하기 (0) | 2021.12.18 |