깡뇽

[Spring] 스프링 입문 - 프로젝트 환경설정 본문

Web/Spring

[Spring] 스프링 입문 - 프로젝트 환경설정

깡뇽 2023. 7. 14. 02:39
반응형

이전에도 스프링 입문 - 프로젝트 환경설정(1)(2) 글을 작성했었다.
2023년 7월 기준 다시 작업.
 

프로젝트 생성

1. Java 11 버전 다운로드
Java Archive Downloads에서 Java SE Develeopement Kit 11.0.18Windows x64 Installer를 다운했다.
 
2. IntelliJ 다운로드
IntelliJ IDEA Community Edition을 다운했다.
 
3. Spring Boot Starter 사이트에서 스프링 프로젝트 생성
Spring Initializr에서 설정 후 프로젝트를 만든다.
- Project : Gradle Project
- Language : Java
- Spring Boot : 2.7.13
    (SNAPSHOT은 아직 정식 릴리즈 상태X. 스프링 부트 3.0 -> Java 17 이상 사용 필수.)
- Project Metadata
    1) Group : 회사명
    2) Artifact : 프로젝트명
- Dependencies 
    1) Spring Web
    2) Thymeleaf

 
4. IntelliJ에서 프로젝트 열기

build.gradle를 선택하고 OK를 클릭하면 나오는 창에서 Open as Project를 선택하여 프로젝트를 만든다.
 
5. 실행
main 메소드 실행한 후에 localhost:8080 입력하여 페이지 확인한다.

@SpringBootApplication 어노테이션 → 톰켓 웹서버 내장하고 있기에 톰켓 웹서버를 뜨우면서 스프링 부트가 같이 올라간다.
 
6. 추가 설정
File -> Settings -> Gradle 에서 "Build and run using"과 "Run tests using"을 Gradle에서 IntelliJ IDEA로 변경한다.

Gradle을 통해 실행하면 느릴 때가 있는데 IntelliJ에서 자바를 바로 실행하므로 더 낫다.
 

라이브러리 살펴보기

Gradle 클릭하여 라이브러리 목록들을 볼 수 있다.
 

View 환경설정

src -> main -> resources -> static에 index.html 파일 생성하여 코드 작성한다.

localhost:8080을 실행했을 때, static에서 index.html 있다면 해당 파일이 Welcom Page로 나타남을 확인할 수 있다.
→ 정적 페이지 (웹 브라우저에 파일을 그대로 넘김)

 

템플릿 엔진을 사용해서 동작하는 웹 페이지를 만들 수 있다.

1) hello.hellospring -> controller 패키지 생성 -> HelloContorller 자바 클래스 생성

클래스 상단에 @Controller 라는 어노테이션 필수로 붙여야 한다.

 

2) resources -> templates -> hello.html 생성(thymeleaf 템플릿 엔진 선언)

localhost:8080/hello에 대해 스프링 부트에게 물어보는데 @GetMapping 어노테이션이 가지는 

 

웹 브라우저에서 localhost:8080/hello 라고 보내면 스프링은 톰켓 서버를 내장하고 있는데 서버가 받아서 스프링에게 GetMapping(Get방식)으로 연결된 hello 메소드를 찾는다. 리턴되는 String의 이름을 가진 html 파일을 templates에서 찾아 렌더링 하라는 것을 의미한다. 그리고 모델을 통해 전달된 데이터를 html 파일에서 사용 가능하다.

더보기

컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버( viewResolver )가 화면을 찾아서 처리한다.

- 스프링 부트 템플릿엔진 기본 viewName 매핑

- resources:templates/ +{ViewName}+ .html

 

빌드하고 실행하기

Windows

1. ./gradlew gradlew.bat 실행(cmd에서 프로젝트 경로로 이동하여 gradlew 입력 후 엔터)

2. gradlew build 입력 

빌드 폴더 생성을 확인할 수 있고, libs로 들어가서 확인하면 jar 형식 파일 생성되었을 것이다.

해당 파일 서버에 넣어서 배포 가능하다.

 

빌드 파일 삭제하고 재생성하기 위해서는 gradlew clean build 하면 된다.

 

## 오류 ##

`java: warning:source release 11 requires target release 11` 라는 경고가 뜬다.

또는 cmd에서 gradlew build 명령어를 시행했을 때, `FAILURE: Build failed with an exception`과 함께 `Task : compileJava FAILED` `What went wrong: Exception failed for task ':comileJava'. invalid source release: 11`이라고 나온다.

프로젝트의 자바 버전은 8인데 11 버전을 사용하려고 할 때 에러가 발생하므로 자바 버전을 동일하게 맞춰야 한다.

 

- 프로젝트 자바 버전 변경

1. File-> Project Structure -> Project -> Project language level 수정

2. Project Structure -> Modules -> Language level

해당 변경 사항 Apply하여 반영한다.

 

- 자바 컴파일러 수정

1. File -> Settings -> Java Compiler -> Project bytecode version 변경

2. Per-module bytecode version에서 + 클릭한 후 프로젝트 선택 -> OK -> Target bytecode version 변경

변경 사항을 Apply하여 반영한다.

 

- build.gradle 수정

java의 sourceCompatibility 버전을 수정한다.

반응형