gwooden_코린이
스프링_프로젝트 생성_입문NO.1 본문
- 프로젝트 생성
사전 준비물
- JAVA 11 버전
- IDE : 인텔리제이(우선 무료버전 사용)
▶ 스프링 부트 스타터 사이트를 이용해 스프링 프로젝트 생성해보기
프로젝트
Maven, Gradle
필요한 라이브러리를 빌려서 가져와 빌드를 관리해주는 도구
최근에는 Gradle를 주로 사용하는 추세, 예전에는 Maven을 사용했다.
선택은 Gradle - Groovy <-- 이걸로 선택해준다.
Language
Java, Kotlin, Groovy 3가지 종류가 있는데 여기서 Java 선택
Spring Boot
스프링 부트 버전은 최신 버전 중에 () 버전 뒤에 괄호가 없는걸 선택 괄호가 붙어 있을 경우 정식 버전이 아닌 베타버전이라 문제가 생길 확률이 큼 또한, 최신 정식 버전 중에서도 jdk 버전에 따른 오류가 있을 수 있음
ex) 스프링 부트 3.0.0 사용시 JDK 버전 17 이상 사용, javax 패키지 이름을 jakarta로 변경 필요, H2 데이터베이스 버전을 2.1.214 이상으로
Group : 기업명을 적어주는 곳 / 입문단계이니 hello로 적어준다.
Artifact : 빌드된 결과물 -> 프로젝트명을 의미
Name : 자동으로 되는걸로 사용
Description : Spring Web, Thymeleaf
Package name : 디폴트값 사용
Packaging : JAR
Java : 11버전으로 (17버전 사용시 17로~)
스프링 부트 기반으로 시작할때 어떤 라이브러리를 빌려와서 쓸건
웹 기반을 이용할 거라 검색창에 "web" 또는 "spring web"이라고 타이핑 후 클릭해주면 된다.
HTML을 만들어주는 템플릿 엔진이 필요
Thymeleaf를 검색해서 클릭!
해당 플러그인은 회사마다 사용하는 플러그인이 다를 수 있다.
최종적으로 2가지가 선택되면 된다.
세팅이 완려 되면 "GENERATE" 버튼을 눌러주고 눌러주면 파일이 다운로드 된다.
다운로드 한 스프링 부트 생성 파일은 원하는 경로에 새로운 풀더를 생성 후 그 곳에 압축을 풀어 놔준다. 인텔리제이를 실행 후 File에서 Open을 클릭 후
저장 해둔 경로에 "hello-spring" 풀더 안에 "build.gradle"라는 빌드 파일을 클릭 후 "OK" 버튼을 눌러준다.
네트워크를 통해 필요한 데이터를 다운로드 해오기 때문에 인터넷 연결이 되어있어야 된다. 3분에서 5분 정도 기다리면 완료되니 차분히 기다린다. 인터넷 환경에 따라 속도 차이가 있을 수 있다.
.idea는 인텔리제이 사용하는 설정파
.gradle는 gradle를 사용하는 풀더
src 풀더를 클릭하면 'main'과 'test' 풀더를 확인해 볼 수 있다.
main을 열면 java 랑 resources가 있으며 java 안에 실제 소스파일이랑 패키지 파일이 존재
resources는 실제 java파일을 제외한 html, xml 또는 properties 같은 설정 파일이 들어감
test에는 test에 관련된 소스 파일들이 존재
최근 개발에 있어서 test 코드가 매우 중요하다고 보면 된다.
build.gradle를 살펴보면 아래와 같은 코드들이 존재하는걸 확인 할 수 있는데 예전에는 스프링 부트 생성기가 없을때는 아래 코드를 손코딩해서 일일이 입력했다면 지금은 자동화로 인해 많이 편리해졌다고 한다.
plugins {
id 'java'
id 'org.springframework.boot' version '2.7.6'
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}
group = 'hello'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}
id 'java'
id 'org.springframework.boot' version '2.7.6'
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
gradle 라이브러리하고 버전을 땡겨 가져온다라는 의미로 보면 될 것 같다.
group = 'hello'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
그룹과, 버전, 소스를 확인할 수 있다. 버전은 java 11버전으로 만든거라 보면 된다.
repositories {
mavenCentral()
}
mavenCentral() --> 해당 기능은 라이브러리를 다운받오게 해주는 기능이다. 아래 라이브러리를 다운받아오는데 필요하다.
필요한 경우 특정 사이트 URL를 넣을 수 있다.
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
spring-boot-starter-thymeleaf -> html을 만드는 템플릿 엔진
spring-boot-starter-web -> web 생성을 위한
spring-boot-starter-test --> 요즘에는 test 라이브러리가 기본으로 들어가게 된다.
git은 소스코드 관리해주는 것
위 과정 처럼 main에서 애플리케이션을 연 다음 main문을 실행 해준 후 톰캣 포트를 확인 후 인터넷 창에 http://localhost:8080/을 검색해서 위 처럼 Error Page가 나오면 성공이다.
만약 실행을 중지하고 위 처럼 오류가 뜬 경우 해당 코드에 문제가 있다라기 보다는 환경설정에 문제가 있어 환경설정을 건드려 주면 된다.
File -> Settings
Build, Execution, Deployment 항목 찾기
Build Tools -> Gradle
기존 디폴트값을 -> Intellij IDEA로 변경
다시 main문 실행 후 에러 페이지 뜨는지 확인 후 실행 종류 후에 "Process finished with exit code" 해당 문구 뜨면 오류 해결
Gradle를 통해서 실행하면 속도가 느리고 오류도 있다보니 Intellij IDEA 인텔리제이로 돌리게되면 해당 문제도 해결되고 인텔리제이에서 자바를 바로 띄우기 때문에 속도도 빠르다.
'스프링 > 인텔리제이 스프링 입문 1편' 카테고리의 다른 글
스프링_정적컨텐츠_입문NO.5 (0) | 2022.12.11 |
---|---|
스프링_빌드&실행_입문NO.4 (0) | 2022.12.11 |
스프링_view_입문NO.3 (0) | 2022.12.11 |
스프링_라이브러리_입문NO.2 (0) | 2022.12.11 |
스프링 시작을 위한 - 인텔리제이(IntelliJ) 설치 (0) | 2022.12.11 |