網頁

2019/10/12

Spring @Value 預設值 default value

Spring的@Value可以方便將properties檔中的設定值注入至程式內,如果注入的key不存在於properties檔,可透過設定預設值來避免null造的錯誤。


如果是用placeholder佔位符@Value("${ ... }")語法,預設值放在冒號:後面。

@Component
public class AppProperties{

    @Value("${app.username:user123}")
    private String username;

    @Value("${app.security.enable:true}")
    private boolean isSecurityEnabled;

    @Value("${app.page.size:20}")
    private int pageSize;

    ...
}

如果是用SpEL語法@Value("#{ systemProperties['...'] }"),預設值放在Elvis Operator(貓王運算子)?:後面。

@Component
public class AppProperties{

    @Value("#{systemProperties['app.username'] ?: 'user123'}")
    private String username;

    @Value("#{systemProperties['app.security.enable'] ?: true}")
    private boolean isSecurityEnabled;

    @Value("#{systemProperties['app.page.size'] ?: 20}")
    private int pageSize;

    ...
}


參考:

沒有留言:

張貼留言