Spring 1-1. 프로젝트 생성

JG's Development Blog·2023년 1월 18일
0

Spring

목록 보기
1/10

intelliJ 사용

  • 접속 시 위와 같은 화면이 나올 것이다.

  • project : Gradle-Groovy

  • language : Java

  • spring Boot는 괄호가 붙지 않은 2 버전 중 가장 최신 버전을 선택한다.
    괄호가 붙은 버전들은 아직 미완성이거나 정식 릴리즈되지 않은 버전들이다.
    -> 위 사진에서는 2.7.7 선택
    -> 스프링 부트 버전 3부터는 강의와 다른 여러 가지 설정들이 필요하므로 버전 2를 사용한다.

  • group명과 artifact명은 자유롭게 설정한다.

  • artifact는 결과물의 이름으로 나오게 된다.

  • packaging : Jar

  • Java : 11

  • 오른쪽 위의 버튼 ADD DEPENDENCIES를 누르고 Spring WebThymeleaf를 선택하고 GENERATE 버튼을 눌러 다운을 받는다.


다운한 프로젝트 파일 열기

  • 다운받은 파일의 압축을 풀고 intelliJ에서 프로젝트 열기 버튼을 누른다.
  • 다운받은 파일의 gradle파일인 build.gradle을 선택하여 open as project로 열어준다.
  • build.gradle 파일을 열어보면 자신이 했던 선택에 따라 자동으로 설정 코드가 입력되어있는 것을 볼 수 있다.
  • git을 편리하게 이용할 수 있도록 .gitignore 파일까지 자동으로 설정된 것을 볼 수 있다.

프로젝트 환경 설정 확인

  • 9번째 줄의 실행버튼을 누르고 main함수를 실행시킨다.

    위와 같은 창이 나타난다면 인터넷 창을 열고 주소창에 'localhost:8080'을 입력한다.

  • 다음과 같이 error page가 떴다면 성공이다.


실행속도 향상

  • IntelliJ는 Gradle을 통해서 실행하는 것이 기본 설정이지만 이 경우 실행속도가 느리다.
  • 다음과 같이 변경하면 자바로 바로 실행하기에 실행속도가 더 빠르다.
  • file 탭의 setting창을 연 후 Gradle 검색
    Build and run using : IntelliJ IDEA
    Run tests using : IntelliJ IDEA

라이브러리

  • spring boot를 이용하여 프로젝트를 생성해보면 자동으로 수많은 라이브러리들을 가져온다.

  • 웹 어플리케이션을 구동시키는데에 필수적인 것들이며 빌드 시 몇십메가씩 차지한다.

  • 라이브러리들은 그 자체로 작동되지 않고 작동되기 위한 또다른 라이브러리들을 가져와서 최종적으로 'spring core' 까지 연쇄적으로 가져온다.

  • 예전에는 tomcat 서버에 자바 코드를 집어넣는 등의 힘든 작업이 필요하지만 요즘에는 편리하게 라이브러리 하나만 넣어주면 자동으로 설정된다.

  • system.out.println 사용보다 log에 남기는 것이 관리하는데에 편하기 때문에 log 사용은 필수적이다.
    -> 실무에서는 log 사용이 절대적이지만 강의에서는 println 사용

log에 대한 참고
https://velog.io/@woply/spring-SLF4J%EC%99%80-Logback%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%B4-%EB%A1%9C%EA%B7%B8-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

  • 크게 이러한 라이브러리들이 필요하다.

welcome page 만들기

  • src - main - resources - static 파일에 index.html 파일 생성
  • 아래 코드 붙여넣기
<!DOCTYPE HTML>
<html>
<head>
 <title>Hello</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
Hello
<a href="/hello">hello</a>
</body>
</html>
  • 저장 후 서버를 동작 localhost:8080에 접속하면 에러페이지 대신 다른 화면이 등장한다.

  • 이것은 별도의 프로그래밍이 아닌 넣은 그대로 동작하는 정적 페이지이다.
    -> thymeleaf 템플릿 엔진 사용


컨트롤러 만들기

  • src - main - java - hello.hellospring 에 controller 패키지를 생성하고 거기에 HelloController를 만든다.
package hello.hellospring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HelloController {

    @GetMapping("hello")
    // @GetMapping("hello")는 /hello의 접속을 hello를 호출하도록 해준다.
    public String hello(Model model){
        model.addAttribute("data","hello!!");
        // data라는 이름의 키의 value값이 hello!!이다.
        return "hello";
    }
}
  • 템플릿에 hello.html 파일을 만들어준다.
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Hello</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p th:text="'안녕하세요. ' + ${data}" >안녕하세요. 손님</p>
  <!-- 결과적으로 data 자리에 hello!!로 치환되어 화면에 출력된다. -->
</body>
</html>
  • 결과
    밑줄이 쳐진 hello를 누르면 아래와 같은 창이 나타난다.


빌드하고 실행하기

※ 윈도우 기준

  • git bash 이용 필요

  • gradlew.bat 파일이 있는 프로젝트 파일로 경로 이동

    ex) cd C:\work\intelliJ_project\hello-spring

  • gradlew 입력 후 엔터하면 빌드가 된다.

  • 만약 libs폴더가 생성되지 않았다면 다시 시도한다.
    -> ./gradlew clean build
    위 명령어 입력 시 초기화하고 다시 빌드함.

  • 성공적으로 빌드되었다면 libs 파일의 jar파일을 확인한다.

  • java -jar hello-spring-0.0.1-SNAPSHOT.jar 입력

  • 마지막으로 localhost:8080 접속하여 확인한다.


강의 사이트
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8

profile
왕왕왕초보

0개의 댓글