ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Spring] 프로젝트 생성 후 구조 겉핥기
    Spring 2021. 9. 27. 23:25

    프로젝트의 구조와 역할

    프로젝트의 대략적인 구조는 다음과 같았다.

    hello-spring 프로젝트 파일의 구조

    gradle 

    gradle과 관련된 폴더들을 모아놨다.

     

    src

    src폴더의 구조는 크게 main폴더와 test로 나눠져있다.

    요즘은 기본프로젝트가 이렇게 나눠져있는게 표준이라도 한다.

    그만큼 test코드라는 것이 중요하다는 것이다.

     

    main폴더에는 java폴더와 resource폴더가 있다.

    java폴더에는 java파일들이 들어있으며, resouce폴더에는 자바파일을 제외한 xml, properties, html 등등의 설정 파일이나 기타 파일들이 들어가는 곳이라고 한다.

     

    build.gradle

    build.gradle은 중요한 파일이다.

    부트가 생기기 전에는 하나하나 쳤어야했으나 부트가 생겨 그럴 필요가 없어졌다.

     

    plugins { 
    	id 'org.springframework.boot' version '2.5.4' // 부트의 버전
    	id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    	id 'java' // 언어의 종류
    }
    
    group = 'hello'
    version = '0.0.1-SNAPSHOT'
    sourceCompatibility = '11' // 자바의 버전
    
    repositories { // 필요하면 특정사이트 url 추가가 가능하다.
    	mavenCentral() // dependecies에서 추가된 라이브러리를 다운받는 공개사이트다.
    }
    
    dependencies {
    	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' // thymeleaf 템플릿엔진
    	implementation 'org.springframework.boot:spring-boot-starter-web' // 스프링 부트 웹
    	testImplementation 'org.springframework.boot:spring-boot-starter-test' // 요즘은 test 라이브러리(junit 5)가 자동으로 들어간다.
    }
    
    test {
    	useJUnitPlatform()
    }

     

    라이브러리

    요즘 부트는 의존관계를 자동으로 다 땡겨준다.

    이 의존관계가 있는 라이브러리를 다운받는 역할을 해주는 것이 Gradle이다.

     

    우측상단 gradle을 눌러 라이브러리의 의존관계를 확인할 수 있다.

     

    스프링 부트 라이브러리

    - spring-boot-starter-web

        - spring-boot-starter-tomcat : 톰캣(웹서버)

        - spring-webmvc : 스프링 웹 MVC

        - spring-boot-starter-thymeleaf: 타임리프 템플릿 엔진(View)

        - spring-boot-starter(공통): 스프링 부트 + 스프링 코어 + 로깅

            - spring-boot

                - spring-core

            - spring-boot-starter-logging

                - logback, slf4j

    테스트 라이브러리

    - spring-boot-starter-test

        - junit: 테스트 프레임워크

        - mockito: 목 라이브러리

        - assertj: 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리

        - spring-test: 스프링 통합 테스트 지원

     

     

    출처 : 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 학습 페이지 (inflearn.com)

    댓글

Designed by Tistory.