diff --git a/board/build.gradle b/board/build.gradle index 746a9ac8..d30b73ad 100644 --- a/board/build.gradle +++ b/board/build.gradle @@ -33,6 +33,7 @@ dependencies { compileOnly 'org.projectlombok:lombok' developmentOnly 'org.springframework.boot:spring-boot-devtools' annotationProcessor 'org.projectlombok:lombok' + annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' testImplementation 'org.springframework.boot:spring-boot-starter-test' // queryDSL 설정 diff --git a/board/src/main/java/com/example/board/BoardApplication.java b/board/src/main/java/com/example/board/BoardApplication.java index 4c8cf857..30d68084 100644 --- a/board/src/main/java/com/example/board/BoardApplication.java +++ b/board/src/main/java/com/example/board/BoardApplication.java @@ -2,7 +2,9 @@ package com.example.board; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.context.properties.ConfigurationPropertiesScan; +@ConfigurationPropertiesScan @SpringBootApplication public class BoardApplication { diff --git a/board/src/main/java/com/example/board/config/ThymeleafConfig.java b/board/src/main/java/com/example/board/config/ThymeleafConfig.java new file mode 100644 index 00000000..fb67ef1d --- /dev/null +++ b/board/src/main/java/com/example/board/config/ThymeleafConfig.java @@ -0,0 +1,36 @@ +package com.example.board.config; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.context.properties.ConstructorBinding; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver; + +@Configuration +public class ThymeleafConfig { + + @Bean + public SpringResourceTemplateResolver thymeleafTemplateResolver( + SpringResourceTemplateResolver defaultTemplateResolver, + Thymeleaf3Properties thymeleaf3Properties + ) { + defaultTemplateResolver.setUseDecoupledLogic(thymeleaf3Properties.isDecoupledLogic()); + + return defaultTemplateResolver; + } + + + @RequiredArgsConstructor + @Getter + @ConstructorBinding + @ConfigurationProperties("spring.thymeleaf3") + public static class Thymeleaf3Properties { + /** + * Use Thymeleaf 3 Decoupled Logic + */ + private final boolean decoupledLogic; + } + +} diff --git a/board/src/main/resources/application.yaml b/board/src/main/resources/application.yaml index 0eeee4da..5eba8a62 100644 --- a/board/src/main/resources/application.yaml +++ b/board/src/main/resources/application.yaml @@ -28,6 +28,8 @@ spring: rest: base-path: /api detection-strategy: annotated + thymeleaf3: + decoupled-logic: true ---