项目的logback.groovy配置文件有一行代码如下:
def env = System.properties['spring.profiles.active'] ?: 'production'
啥意思啊搞不懂。。
System.properties['spring.profiles.active']如果不为空,那么返回 System.properties['spring.profiles.active']否则返回'production'
你这是springboot支持多环境配置的问题,其实就是简单的三目运算符啦!
如果从application.properties属性文件中读取到的spring.profiles.active属性值为dev,即激活了为某个指定环境,比如开发环境,那么真正的起作用的配置就是spring.profiles.active=dev所对应的项目中的配置文件:application-dev.properties文件,否则就是application-production.properties这个文件了
?:
即三目运算符,例如(a<b)?a:b;
String name;
String uzi = "uzi";
name = (name == null) ? "" : uzi;
条件表达式 ? (条件为真时赋值) : (条件为假时赋值)
name == null为true,则name = "";
name == null为false,则name = uzi;