[Spring] 1. 프로젝트 환경 설정

2025. 2. 13. 18:35·Backend/Spring
728x90
인프런 김영한의 스프링 입문을 듣고 작성한 글입니다

 

프로젝트 생성

프로젝트를 생성하기 위해서 웹사이트(https://start.spring.io/) 하나를 이용한다

환경 설정은 위와 같이 구성 했고 인텔리제이에서 build.gradle을 프로젝트로 생성하면 위와 같은 구조를 볼 수 있다

또, gradle을 인텔리제이로 바꿔 자바 실행이 더 빠르게 구성했다

 

 

라이브러리 살펴보기

처음엔 우리는 Spring web, thymeleaf만 라이브러리를 가져왔다

하지만 gradle을 통해서 다운했기에 의존성이 있는 라이브러리들도 가져온다고 한다

아 참 gradle이 뭔지도 모르고 그냥 받아드렸기 때문에 gradle에 대해서 약소하게나마 알아봤다

gradle은 빌드 도구로, 쉽게 말해 프로젝트를 빌드(컴파일, 테스트, 패키징 등) 관리하는 것을 도와주는 도구라고 생각하면 된다
이 gradle이 spring 프로젝트를 개발하는데 왜 사용 될까?

첫번째, 빌드를 관리하고 도와주는 것을 자동화 해준다
두번째, 위에서 언급했듯이 의존성있는 외부 라이브러리를 손쉽게 다운로드하고 관리할 수 있게 해준다
세번째, 빌드, 테스트 와 같은 개발 프로세스의 반복 작업을 자동화 해준다


요약해보자면, Gradle은 프로젝트를 빌드하고 의존성을 관리하는 도구이다.
Spring 프로젝트에서 필요한 라이브러리를 자동으로 가져오고, 프로젝트를 컴파일하거나 실행 파일로 패키징하는 작업을 쉽게 할 수 있으며, Spring Boot와 Gradle을 함께 쓰면 설정과 개발 과정이 훨씬 간단해지기 때문에 사용하는 것 같다

이와 같이 우리는 spring web 라이브러리를 다운했지만 관련된 다른 라이브러리도 의존성으로 같이 다운로드 되어 있다

참고로 tomcat은 웹서버이고, webmvc는 스프링 웹 MVC라고 한다

내 생각에는 하나의 라이브러리로 모든 것을 할 수 없고, 이 라이브러리에서도 다른 라이브러리들을 사용하기 때문인 것 같다

 

로그와 관련된 라이브러리도 있는데 실무에서는 System.out.println()을 사용하지 않고 로그로 다 기록을 남겨 오류에 대비한다고 한다

 

지금 단계에서는 라이브러리 하나하나 다 알아보는 것 보단 이런 라이브러리들이 있고, 대략 어떻게 사용되구나 이해하려고 한다

 

 

View 환경설정

이전에 localhost:8080을 실행했을 때 에러 페이지만 나왔기 때문에 실제로 잘 작동되는 지 보기 위해 page 하나를 만들어 보겠다

resources/static에 index.html을 만들었고, 스프링부트에서는 해당 경로에 파일을 올려두면 Welcome page 기능을 제공한다

서버를 실행하게되면 Welcome page가 만들어진 것을 볼 수 있다

 

우리는 thymeleaf 라이브러리를 다운했기 때문에 thymeleaf 템플릿 엔진을 사용하려고 한다

controller 폴더를 만들어 Hello에 대한 컨트롤러를 만들었고, 템플릿 폴더에 hello.html을 만들어 데이터를 받아 출력하게 만들었다

성공적으로 결과를 볼 수 있다!

 

하지만 이해가 잘 가지 않기 때문에 그림 통해 흐름을 따라가 이해했다

 

 

빌드하고 실행하기

./gradlew build
cd build/libs
java -jar hello-spring-0.0.1-SNAPSHOT.jar

위 빌드 과정을 통해 jar 파일을 생성했고, java -jar을 통해 실행시키면 웹에서도 잘 동작하는 것을 볼 수 있었다

 

여기서 중요한 것은 jar 파일을 배포할 때 서버에 넣어주고 실행시켜주게 되면 서버에서 스프링이 동작하게 된다는 것을 알았다

 

아직 환경 설정만 했지만 배워야 될 것과 설정들이 많고 개발자가 되려면 개발말고 오류와 효율을 위해 설정 또한 중요한 것 같다고 느꼈다

다음 강의로 빠른 시일내에 돌아와보겠다

728x90

'Backend > Spring' 카테고리의 다른 글

[Spring] 6. 스프링 DB 접근 기술  (1) 2025.03.06
[Spring] 5.회원 관리 예제 - 웹 MVC 개발  (0) 2025.03.02
[Spring] 4. 스프링 빈과 의존관계  (0) 2025.03.02
[Spring] 3. 회원 관리 예제 - 백앤드 개발  (0) 2025.02.22
[Spring] 2. 스프링 웹 개발 기초  (0) 2025.02.18
'Backend/Spring' 카테고리의 다른 글
  • [Spring] 5.회원 관리 예제 - 웹 MVC 개발
  • [Spring] 4. 스프링 빈과 의존관계
  • [Spring] 3. 회원 관리 예제 - 백앤드 개발
  • [Spring] 2. 스프링 웹 개발 기초
Dlawoct
Dlawoct
WeekEnd 개발자
  • Dlawoct
    Week-End
    Dlawoct
  • 전체
    오늘
    어제
    • 분류 전체보기 (52)
      • Language (9)
      • Algorithm (8)
      • Backend (7)
        • Spring (7)
        • Node.js (0)
      • DataEnginering (3)
        • Big Data (0)
      • CS (21)
        • 데이터베이스 (10)
        • 컴퓨터네트워크 (9)
        • 운영체제 (2)
      • IT 지식 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    select
    김영한 java 강의
    운영체제
    db
    spring
    검색문
    top-n 쿼리
    southbound api
    스프링
    백엔드
    network layer
    sdn controller
    TCP
    DML
    관계
    쿠버네티스
    프로그래밍 언어
    데이터베이스
    UDP
    컨테이너
    도커
    자바
    SQL
    데베
    백준
    김영한
    SQLD
    Java
    언어
    northbound api
  • 최근 댓글

  • 최근 글

  • 250x250
    반응형
  • hELLO· Designed By정상우.v4.10.3
Dlawoct
[Spring] 1. 프로젝트 환경 설정
상단으로

티스토리툴바