diff --git a/service/build.gradle.kts b/service/build.gradle.kts index 58d8821a..21c8c4ea 100644 --- a/service/build.gradle.kts +++ b/service/build.gradle.kts @@ -8,6 +8,10 @@ dependencies { // API docs implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.13") + // Cache + implementation("org.springframework.boot:spring-boot-starter-cache") + implementation("com.github.ben-manes.caffeine:caffeine") + // DB runtimeOnly("com.h2database:h2") runtimeOnly("com.mysql:mysql-connector-j") diff --git a/service/src/main/kotlin/com/sangdol/roomescape/RoomescapeApplication.kt b/service/src/main/kotlin/com/sangdol/roomescape/RoomescapeApplication.kt index c8a3ee8a..b44858ca 100644 --- a/service/src/main/kotlin/com/sangdol/roomescape/RoomescapeApplication.kt +++ b/service/src/main/kotlin/com/sangdol/roomescape/RoomescapeApplication.kt @@ -3,8 +3,10 @@ package com.sangdol.roomescape import org.springframework.boot.Banner import org.springframework.boot.SpringApplication import org.springframework.boot.autoconfigure.SpringBootApplication +import org.springframework.cache.annotation.EnableCaching import java.util.* +@EnableCaching @SpringBootApplication( scanBasePackages = ["com.sangdol.roomescape", "com.sangdol.common"] ) diff --git a/service/src/main/resources/application.yaml b/service/src/main/resources/application.yaml index 4565a7bc..544301c7 100644 --- a/service/src/main/resources/application.yaml +++ b/service/src/main/resources/application.yaml @@ -16,6 +16,9 @@ spring: jdbc: batch_size: ${JDBC_BATCH_SIZE:100} order_inserts: true + cache: + type: caffeine + cache-names: ${CACHE_NAMES:theme-details} management: endpoints: diff --git a/service/src/test/resources/application-test.yaml b/service/src/test/resources/application-test.yaml index c4e369dc..9e129ebd 100644 --- a/service/src/test/resources/application-test.yaml +++ b/service/src/test/resources/application-test.yaml @@ -18,6 +18,9 @@ spring: init: mode: always schema-locations: classpath:schema/schema-mysql.sql + cache: + type: caffeine + cache-names: ${CACHE_NAMES:theme-details} security: jwt: