스프링 입문(1) 프로젝트 구성

Jiseong Lee·2022년 4월 29일
0
post-thumbnail

강의를 시작하면서..

스프링을 여러 번 학습했고, 현재 실무에서 사용하기도 하지만 기본 개념을 다시 다지자는 의미에서 기초 강의부터 따라가보자 한다.

개발자 관점에서 개념을 코드를 작성하면서 다뤄주고, 오래된 기술은 최대한 안쓰고.. 일단 첫 강의가 무료라서 우아한 형제들 김영한 강사님의 강의를 선택했다!
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

프로젝트 생성하기

스프링 부트 스타터 사이트 에서 스프링 프로젝트를 생성한다.
위 사이트를 통해 손쉽게 스프링 프로젝트 생성이 가능하다.

  • Project : Gradle
  • Language : Java
  • Spring Boot x.x.x
    • 뒤에 SNAPSHOT 등 아무것도 안붙은 버전 사용! ( 안정화된 버전임)
  • Meta data
    • Group : 보통 기업 도메인 명을 적음
    • Artifact : 실제 빌드될 때 나오는 결과물 이름
  • Packaging : Jar
  • Java : 11
  • Dependencies
    • Spring Web, Thymeleaf

라이브러리 살펴보기

  • build.gradle 의 dependencies 의 라이브러리들을 가져온다.
  • 기본적으로 mavenCentral() 이라는 원격 저장소에서 라이브러리를 가져온다.
    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'
    }
  • Maven, Gradle 같은 빌드 툴들은 Spring 라이브러리의 의존 관계를 알아서 관리해준다.
  • 예를 들어 spring-boot-starter-web 라이브러리를 가져오면, spring-boot-starter-tomacat 등 의존하고 있는 필요한 라이브러리들을 자동으로 가져온다.
    • 참고 : spring-boot-starter 자체에 tomcat 서버가 내장되어 있다! 예전처럼 톰캣 서버 로컬에 깔고 할필요 없음 ㅎㅎ
  • 로그 라이브러리
    • slf4j : 인터페이스
    • logback : 구현체
    • 위 두가지를 스프링에서는 표준 로그 라이브러리로 제공한다.
  • Test 라이브러리
    • Junit 쓰며 요즘은 5버전 쓴다.
  • spring-boot-starter-thymeleaf : 타임리프 템플릿 엔진(View)
  • spring-boot-starter(공통) : 스프링 부트 + 스프링 코어 + 로깅

빌드

  1. 스프링 프로젝트 내부의 .gradlew 파일을 이용한다.
  2. 아래 커맨드를 사용하여 터미널에서 어플리케이션을 실행해볼 수 있다. (mac 기준)
> ./gradlew build
> cd build/libs
> java -jar {프로젝트 네임}-0.0.1-SNAPSHOT.jar
  1. 참고 : ./gradlew clean build 시 build 폴더가 깔끔하게 삭제되고 새로 빌드된다.
profile
안녕하세요

0개의 댓글