ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Book] 1) Spring boot 프로젝트 생성
    Backend/책,강의 2020. 6. 28. 15:57
    반응형

    스프링부트와 AWS로 혼자 구현하는 웹서비스(프리렉출판사 , 이동욱님 지음) 책을 보고 기록하는 내용입니다 . .

    문제가 된다면 알려주세요 .. 

     

    1. 프로젝트 생성

     

    artifactld : 프로젝트의 이름

     

    buildscript{
        /*
         * ext : build.gradle에서 사용하는 전역변수를 설정하겠다.
         * springBootVersion이라는 전역변수를 선언하고 값을 2.1.7.RELEASE로 줌
         * => spring-boot-gradle-plugin라는 그레이들 플러그인의 2.1.7을 의존성으로 받겠다
         */
        ext{
            springBootVersion = '2.1.7.RELEASE'
        }
    
        /*
         * 각종 의존성(라이브러리)등을 어떤 원격 저장소에서 받을지 정함.
         * 주로 mavenCentral을 사용했는데 라이브러리 업로드 난이도가 쉬워진(?) jcenter를 요즘 사용하는 추세임
         */
        repositories{
            mavenCentral()
            jcenter()
        }
    
        /*
         * dependencies : 프로젝트 개발에 필요한 의존성을 선언하는 곳
         * 특정버전을 명시하지 않아야만 작성한 spring-boot-gradle-plugin:${}버전을 따라감
         * 이렇게 관리하면 라이브러리 버전 관리가 한번에 되고 버전 충돌문제가 해결됨 !!
         */
        dependencies {
            classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        }
    }
    
    
    /*
     * 밑에 4개는 자바와 스프링부트 사용하기 위한 필수 플러그인  -> 앞으로 계속 추가해놓으면됨
     */
    apply plugin: 'java'
    apply plugin: 'eclipse'
    apply plugin: 'org.springframework.boot'
    apply plugin: 'io.spring.dependency-management' // 스프링 부트 의존성 관리해주는 플러그인이라 꼭 추가해야함
    
    group 'com.project.freelec'
    version '1.0-SNAPSHOT'
    
    sourceCompatibility = 1.8
    repositories {
        mavenCentral()
    }
    
    dependencies {
        testCompile group: 'junit', name: 'junit', version: '4.12' // 이건 기본으로 돼있었음
        /*
         * 추가
         */
        compile('org.springframework.boot:spring-boot-starter-web')
        testCompile('org.springframework.boot:spring-boot-starter-test')
    }
    

     

     

    스프링 부트 의존성 관리 [출처:https://do-study.tistory.com/100]

    * starter관련있는 의존성들의 묶음으로 하나의 starter 의존성으로 해당 의존성과 관련된 스프링 & 써드파티 라이브러리 또는 또다른 starter 의존성까지도 의존성 간 버전, 호환성 걱정 없이 한번에 애플리케이션에 포함시킬 수 있습니다.

    * 대표적인 spring-boot-starter-web은 웹 관련 기능의 집합으로 기존에 sprinb-web, spring-webmvc을 포함한 여러 라이브러리를 포함시켜야했던 때와 달리 위 의존성 하나로 웹 관련 의존성을 버전 등이 최적화된 상태로 포함시킬 수 있습니다. -> 자동으로 톰캣 내장도 해주는 듯

     

     

     

    댓글

Designed by Tistory.