tonykang22 / study

0 stars 0 forks source link

[Kotlin & Spring] 02. 스프링 이니셜라이저 #122

Open tonykang22 opened 1 year ago

tonykang22 commented 1 year ago

스프링 이니셜라이저

스프링 이니셜라이저란



스프링 이니셜라이저를 이용해 프로젝트 생성하기

CLI 방식

$ curl https://start.spring.io
image



$ curl -G https://start.spring.io/starter.zip -d dependencies=web \
             -d javaVersion=11 -o demo.zip



$ curl -G https://start.spring.io/starter.zip -d dependencies=web, data-jpa \
             -d javaVersion=11 -o demo.zip



프로젝트 구조 설명

패키지 및 파일명 설명
gradle/wrapper 프로젝트에서 사용하는 그레이들 래퍼에 대한 설정 정보와 빌드를 위한 레퍼 jar를 포함
src/main/kotiln .kt 확장자를 가지는 코틀린 소스 코드들을 포함
src/main/resources 프로젝트 내의 리소스 파일들을 포함 (리소스는 html, css, xml, yml 등을 의미)
application.properties 스프링 부트 애플리케이션 각 설정에 해당하는 값을 주입하는 설정 파일
src/main/test 애플리케이션 테스트에 관련된 소스 코드들을 포함
build.gradle.kts 코틀린 DSL로 작성된 그레이들 빌드 설정 파일이며 반드시 필요한 의존성과 플러그인, 레파지토리 등 빌드 전반에 대한 설정을 관리
gradlew 유닉스 환경용 그레이들 레퍼 스크립트. 실행 시 gradle/wrapper에 포함된 jar 파일을 사용해 그레이들 태스크를 실행
gradlew.bat gradlew와 동일한 윈도우 환경용 배치 스크립트
settings.gradle.kts 코틀린 DSL로 작성되었으며 프로젝트에 대한 구조를 설정하는 파일. 설정을 통해 멀티 모듈 프로젝트를 설정할 수 있음



import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication

@SpringBootApplication
class HelloWorldApplication

fun main(args: Array<String>) {
        runApplication<HelloWorldApplication>(*args)
}


애노테이션 이름 설명
@EnableAutoConfiguration 스프링 부트의 자동 설정을 활성화하는 애노테이션
@ComponentScan @Component를 선언한 오브젝트가 있는 패키지를 스캔하도록 활성화함
@SpringBootConfiguration 혹은 @Configuration 추가적인 설정 클래스를 가져오거나 정의된 빈(Bean)을 스프링 컨텍스트에 추가함