반응형

https://start.spring.io/

GENERATE 를 클릭하면 zip파일이 다운된다.

 

내가 미리 레포지토리를 클론해둔 폴더로 이동시켜서 압출을 풀고,
해당 폴더의 build.gradle을 인텔리제이에서 oepn한다.

프로젝트가 생성되었다. 구조를 살펴보자.

빨간색은 우선 무시를 하고,

.idea는 인텔리제이가 사용하는 설정파일이다.

gradle에 wrapper라고 되어있는데, gradle가 관련되어 사용되는 폴더이다.
Gradle은 그루비를 이용한 빌드 자동화 시스템이다.

src폴더를 보면, main폴더와 test폴더가 있다. 요즈음에는 Maven과 Gradle 둘다 기본적으로 main과 test폴더가 나누어져 있다. 그래서 main 폴더 내부에는 java와 resources가 있고, java밑에 실제 패키지와 소스파일들이 있다.
그리고, test폴더는 test코드들과 관련된 소스들이 들어간다. 이렇게 구분되어 있다.
이것이 무슨 이야기냐면, 요즈음의 개발 트렌드에서 "테스트 코드가 정말 중요하다." 라는 이야기다.
그리고, main폴더에 있는 resources폴더는 실제 java코드파일을 제외하한, xml이나 설정파일, html등이 들어가 있다.
java파일을 제외한 나머지는 resources에 들어간다고 생각하면 된다.

build.gradle은 정말 중요하다. 소스를 살펴보자.

예전에는 이것들을 전부 하나씩 코드를 작성했어야 하는데,
요즈음에는 start.spirng.io를 이용하여 springboot를 사용하면서 개발자 친화적으로 이렇게 설정 파일들이 모두 제공이 된다.

소스를 보면, 내가 설정했던 SpringBoot2.6.7버전, java언어를 선택한 것 등이 플러그인으로 들어간다.

group을 보면, 우리가 설정한 group명이 설정되어있고, 버전은 기본적으로 '0.0.1-SNAPSHOT'으로 설정된 것을 볼 수 있다.
souceCpmatibility는 우리가 java11버전으로  만든 것을 확인할 수 있다.

repositories를 보면, mavenCentral() 이라고 되어있는데, 이것이 뭐냐면,
우리가 앞서 추가한 라이브러리를 어디선가 다운받아야 하는데,
"mavenCentral이라는 공개된 사이트에서 다운로드 받아라" 라고 설정을 간편하게 해놓은 것이다.
필요하다면 우리가 특정 사이트의 url을 넣을 수도 있다.

dependencies를 보면, 처음에 SprigBoot를 생성할 때 추가했던 html템플릿 엔진인 'thymeleaf' 그리고, 웹프로젝트로 'Spring Web'을 선택했던 것을 확인할 수 있다.  그 밑에 있는 testImplementation은 기본적으로 junit이라는 테스트라이브러리가 자동으로 들어간 것이다.

 

gitignore파일은 소스코드를 관리해주는 것이다.
깃에는 소스코드만 올라가야 되고, 빌드된 결과물 같은 것이 올라가면 안된다.
그래서, 그런 것들을 기본적으로 stat.spring.io 에서 설정해주는 것이다.

 

그리고, gradlew와 gradlew.bat, setting.gradle는 나중에 Gradle로 빌드하는 과정에서 살펴볼 것이다.

 

이제 바로 돌려보자.

src폴더의 main에 있는 HellospringApplication의 main메서드를 실행하면 위그림과 같이 Spring이 뜨면서 Spring Boot버전이 2.6.7이라고 확인할 수 있다.

내용을 좀더 자세히 보면, Tomcat started on port:8080 을 확인할 수 있다.

 

웹브라우져에서 localhost:8080으로 접속하면 위와같은 화면을 볼 수 있다.
Whitelabel Error Page라고 뜬다. 이러면 성공한 것이다.

 

위에서 실행한 main메서드를 간단히 설명하자면,
SpringApplication.run을 해서 HelloSpringApplication클래스를 실행하는 것이다.
@SpringBootApplication 어노테이션이 있는데,

SpringBootApplication이 실행되는데, 밑에 띄우는 것 밑에 tomcat이라는 웹서버를 내장하고 있다.
tomcat이라는 웹서버를 자체적으로 띄우면서 SpringBoot가 같이 올라온다.

 

 

※번외

IntelliJ Gradle 대신에 자바 직접 실행
최근 IntelliJ 버전은 Gradle을 통해서 실행 하는 것이 기본 설정이다. 이렇게 하면 실행속도가 느리다.

다음과 같이 변경하면 자바로 바로 실행해서 실행속도가 더 빠르다.

Preferences Build, Execution, Deployment Build Tools Gradle Build and run using: Gradle IntelliJ IDEA
Run tests using: Gradle IntelliJ IDEA

Build and run, Run test 부분이 Gradle로 설정되어 있으면 Run을 하면 Gradle을 통해서 실행하면서 느릴때가 있다.
따라서 아래와 같이 둘다 인텔리제이로 변경하자.
이렇게 하면 인텔리제이에서 java를 바로 띄어서 돌리므로 훨씬 빠르다.

 

반응형