@ConditionalOnProperty的用法

摘要:
packagecom.zys.example。配置;importlombok.externa.slf4j。Slf4j;importorg.springframework.boot.autoconfigure.condition。条件OnProperty;导入组织弹簧框架文本注释。配置importjavax.annotation。后构造;/***系统初始化*/@Configuration@Slf4j@ConditionalOnPropertypublicclassWebAppConfig{@PostConstructpublicvoidinit(){log.info;}}需要在配置文件Enable=true中启用上述配置应用程序。如果未配置该配置类或其值为false,则该配置类不会生效。仅设置为true将打印。其中prefix是配置的前缀,name是属性名称。

在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是属性名。

免责声明:文章转载自《@ConditionalOnProperty的用法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Flask框架的日志配置VB6中如何使用C#开发的WebService进行开发下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

golang grpc keepalive

最近遇到 grpc 客户端报错 rpc error: code = Unavailable desc = transport is closing,原因是连接长时间没有使用,被服务端断开,这种情况通过简单粗暴的重试策略可以解决,更加优雅的解决方案是增加保持连接策略 服务端 var kaep = keepalive.EnforcementPolicy{ M...

MongoDB连接

MongoDB - 连接 启动 MongoDB 服务 在 MongoDB 安装目录的 bin 目录下执行 mongodb 启动 MongoDB 服务。 执行启动操作后,mongodb 在输出一些必要信息后不会输出任何信息,之后就等待连接的建立,当连接被建立后,就会开始打印日志信息。 你可以使用 MongoDB shell 来连接 MongoDB 服务器。你...

webpack3 + vue 添加 serviceWorker

新的vue脚手架已经可以自带pwa了,本文主要针对旧版的webpack。 先装三个插件: $npm i register-service-worker sw-precache-webpack-plugin webpack-pwa-manifest --save-dev 因为pwa主要用于生产,我们来动手改造 build/webpack.prod.conf....

JS 全自动检测禁止输入特定字符

项目中输入域,特别是文本输入域,一般都会禁用某些特殊字符,基于这个需求,实现了一个全局设置禁止输入特别字符的方法,核心代码: Array.from(document.querySelectorAll('input')).map(function(item){ // 检索所有输入域,使用者可以修订别的选择器 var excludes = ['"',"...

缓存击穿 解决方案

本文代码逻辑思想来自阿里的JetCache框架,这里只是自己的学习与理解,记录下;具体实现可以去查看JetCache源码:git地址:https://github.com/alibaba/jetcache实际应用中可以接JetCache框架,使用@CachePenetrationProtect注解即可实现 当缓存访问未命中的情况下,对并发进行的加载行为进行...

基于C++代码的UE4学习(四)—— 定时器

在UE中有专门的类用来完成定时器的功能,它就是FTimerHandle类。 我们来完成一个例子,每隔一段时间之后,让一个ACTOR自我复制,在一定范围内随机生成。 这是ACTOR的头文件: 1 // Fill out your copyright notice in the Description page of Project Settings. 2...