IDEA New->Project 에서 Spring Initializer를 선택하고 Next
Type은 4가지 나오는데 3번째 Gradle을 선택한다.
Name, Group, Artifact는 적당하게 바꾸면된다.
그 다음 화면에서는 Lombok 하나만 선택한다.
Web, JDBC, MySQL, 등의 기능은 gradle 에 의존성을 하나씩 추가하면서 어떻게 변화되는지 살펴보겠다.
프로젝트를 생성할 디렉토리와 프로젝트명을 수정한다.
finish를 누르면 해당 위치에 프로젝트를 생성하고 Gradle 프로젝트로 생성하였기 때문에 아래와 같은 화면이 나올텐데, OK 클릭
build.gradle을 확인하자.
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
SpringbootApplication.java 파일을 열어보자
@SpringBootApplication
public class SpringbootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootApplication.class, args);
}
}
이 부분이 시작부분이다.
이 파일을 우클릭한 다음 Run (Control-Shift-F10)해서 실행해보자.
이 파일을 선택하면 우측 상단에 아래 그림과 같은 실행 아이콘이 나올텐데, 여기서 실행 버튼을 눌러서 동일하게 실행된다.
하단에 ‘program finshed with exit code 0’ 이라고 나오면 정상적으로 실행된것이다.
정상적으로 실행은 되었지만 실행하고 종료가 되었다는 것이다.
LIVE RELOAD 기능 추가
build.gradle에 spring-boot-devtools 를 추가한다.
dependencies {
compile('org.springframework.boot:spring-boot-devtools')
implementation 'org.springframework.boot:spring-boot-starter'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
Action을 찾는 단축키인 ctrl-shift+A로 registry를 검색한다.
compiler.automake.allow.when.app.running을 체크해 줍니다.
Settings -> Build -> Compiler에서 Build project automatically를 체크
application.yml에 아래 설정(application.properties 파일 지우고 추가. 가독성 및 장점이 많다)
spring:
devtools:
livereload:
enabled: true