프로젝트 생성

프로젝트 구조

Untitled

  1. .idea

  2. Gradle

  3. src

  4. [중요!] build.gradle

    자세히

    설정이 변경되면 코끼리를 눌러서 적용을 해줘야합니다. 그래야 라이브러리 같은게 변경이 됩니다.

    plugins {
    	id 'org.springframework.boot' version '2.5.6' //스프링 부트 버전이 2.5.4
    	id 'io.spring.dependency-management' version '1.0.11.RELEASE' //의존관계 관련된 부분 설정
    	id 'java' //자바 언어
    }
    
    group = 'jpabook' //적어준대로 hello
    version = '0.0.1-SNAPSHOT'
    sourceCompatibility = '11' //자바 버전 11
    
    //Lombok 때문에 생긴 세팅
    configurations {
    	compileOnly {
    		extendsFrom annotationProcessor
    	}
    }
    
    repositories {
    	mavenCentral()
    }
    
    dependencies {
    	implementation 'org.springframework.boot:spring-boot-starter-data-jpa' //data-jpa
    implementation 'org.springframework.boot:spring-boot-starter-validation' //...6
      implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' //HTML 만드는 템플릿 엔진
    	implementation 'org.springframework.boot:spring-boot-starter-web' //web 프로젝트 선택한 것
    	compileOnly 'org.projectlombok:lombok' //롬복 라이브러리
    	runtimeOnly 'com.h2database:h2' //h2 데이터베이스
    	annotationProcessor 'org.projectlombok:lombok' //롬복 라이브러리
      testImplementation 'org.springframework.boot:spring-boot-starter-test' //test 관련된 라이브러리
    	//JUnit4 추가
      testImplementation("org.junit.vintage:junit-vintage-engine") {
        exclude group: "org.hamcrest", module: "hamcrest-core"
      }
    }
    
    test {
    	useJUnitPlatform()
    }
    
    1. plugins

      • 설정 관련 정보들이 플러그 인으로 들어갑니다.
      • Gradle은 버전 설정하고 라이브러리 땡겨온다 정도만 이해하면 됩니다.
      • id 'org.springframework.boot' version '2.5.6'
        • 스프링 부트 플러그인은 라이브러리들의 디펜던시 버전까지 관리해줍니다.
        • 그렇기에 버전만 올리면 다른 라이브러리 버전까지 올라갑니다.
          • ex) id 'org.springframework.boot' version '2.5.7'
    2. configurations

      • 롬복 때문에 생긴 세팅

        뒤에서 자세하게 봅니다.

    3. repositories

      • 아래의 라이브러리를 다운 받아야 하는데 다운 받는 곳인 mavenCentral 사이트를 설정해 준 것입니다.
    4. dependencies

      • 프로젝트 개발에 필요한 의존성들을 선언하는 곳
      • spring-boot-starter라는 라이브러리를 받으면 필요한 의존관계를 한번에 땡겨옵니다.
    5. JUnit4 추가

      • 해당 부분을 입력하지 않으면 JUnit5로 동작합니다. JUnit5를 잘 알고 선호하시면 입력하지 않아도 됩니다.
    6. @NotEmpty나 Valid을 사용하기 위한 설정

      뒤의 웹 계층에서 사용

프로젝트 실행

🌟 [TIP]