사용자가 직접 만든 property 적용

hyunwoo·2023년 2월 27일
0

Spring (fastcampus)

목록 보기
27/27

part2.게시판서비스 (09. 게시글 서비스 만들기)

ThymeleafConfig.class

package com.fastcampus.projectboard.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;
       }
}

위의 코드는 강사님이 따로 만든 코드로 이를 yaml에 추가를 하면 인식이 안될 때가 있다. 이를 해결하기 위해서


  annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'

이 코드를 build.gradle에 추가를 하면
사용자가 직접 만든 property 들도 문서세팅이 가능해지고 idea 지원을 받을 수 있다.


위 사진은 application.yaml에 추가한 장면이며
원래는 Thymeleaf3:의 경우 강사님이 만든 것으로
인식을 못하여 문서세팅이 불가능하지만

앞선 build.gradle에 추가를 하였기에
위 처럼 idea에서 알아서 잡아준다.

0개의 댓글