@ConditionalOnProperty的用法


在spring boot中,當需要控制配置類是否生效時可以使用@ConditionalOnProperty注解來控制@Configuration是否生效。當然也可以控制@Component等注解。

package com.zys.example.config;

import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Configuration;

import javax.annotation.PostConstruct;

/**
 * 系統初始化操作
 */
@Configuration
@Slf4j
@ConditionalOnProperty(prefix = "application",name = "enable",havingValue = "true")
public class WebAppConfig {

    @PostConstruct
    public void init() {
        log.info(">>>系統正在進行初始化......");
        
    }
}

上述需要在配置文件開啟此配置

application.enable=true

當不在配置配置或配置其值是false時則此配置類不會生效。在系統啟動時也就不會打印這個日志信息。只有設置為true時才會打印。

@ConditionalOnProperty是通過havingValue的值與配置文件中的值對比,返回為true則配置類生效,反之失效。其中prefix是配置的前綴,name是屬性名。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM