[컴] SpringBoot web server 를 위한 helloworld

boilerplate /

SpringBoot web server 를 위한 helloworld

간단하게, MariaDB 를 사용하는 Rest API 서버를 만들기 위한 기본 setting 이라고 보면 된다.

  1. Spring Initializr 에서 생성(아래 ‘그림. Spring Initializr 설정’ 참고)
  2. application.yml 설정
    • server 설정
    • mariadb 설정
  3. gradlew.bat bootRun

Spring Initializr 설정:

그림. Spring Initializr 설정

build.gradle:

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
    implementation 'org.jetbrains.kotlin:kotlin-reflect'
    runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'

    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

spring-boot-starter-web

spring-boot-starter-web 가 있어야 서버로서 동작한다. 저 library 가 없으면, 그냥 한번 실행하고, exit(shutdown) 하게 된다.

spring - Springboot Application exits immediately - Stack Overflow

application.yml 설정

# application.yml
server:
  port: 9100
spring:
  profiles:
    active: dev

---

spring:
  config:
    activate:
      on-profile: "dev"
  datasource:
    url: >
      jdbc:mariadb://localhost:3307/stest?
      useUnicode=true&characterEncoding=utf-8
    username: root
    password: root
    driver-class-name: org.mariadb.jdbc.Driver
    hikari:
      maximum-pool-size: 5

spring.jpa.hibernate.ddl-auto

  • 86. Database Initialization : spring.jpa.hibernate.ddl-auto property에 대한 설명, 이것은 hibernate 의 feature(기능) 이다. 그래서 만약 접속하는 table 이 존재하지 않을때 create 을 하는 등의 행동을 하도록 할 수 있다.

create, create-drop, update, validate, node 에 대한 설명:

spring-boot-devtools

다음처럼 spring-boot-devtools을 추가하면 된다. 그리고 서버를 실행하면 아래 그림처럼 LiveReload server 가 running 하고 있다는 message를 확인할 수 있다.

dependencies {
    ...
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
}
그림. liveReload

참고로, 2개 이상의 spring boot 을 띄우고 있다면, 이미 port 를 사용하고 있어서 LiverReload server가 run 할 수 없는 경우도 있다. 이때는 port 를 변경해주면 된다.

...
---
spring:
  ...
  devtools:
    livereload:
      port: 35731
  ...

See Also

  1. 쿠…sal: [컴] jooq 사용, jooq gradle plugin

댓글 없음:

댓글 쓰기