在本教程中,我们将向您展示如何为@Value
设置默认值
1. @Value示例
要在Spring表达式中设置默认值,请使用Elvis operator
:
#{expression?:default value}
几个例子:
@Value("#{systemProperties['mongodb.port'] ?: 27017}")
private String mongodbPort;
@Value("#{config['mongodb.url'] ?: '127.0.0.1'}")
private String mongodbUrl;
@Value("#{aBean.age ?: 21}")
private int age;
PS @Value
从Spring 3.0开始可用
2. @Value和属性示例
设置属性占位符的默认值:
${property:default value}
几个例子:
//@PropertySource("classpath:/config.properties}")
//@Configuration
@Value("${mongodb.url:127.0.0.1}")
private String mongodbUrl;
@Value("#{'${mongodb.url:172.0.0.1}'}")
private String mongodbUrl;
@Value("#{config['mongodb.url']?:'127.0.0.1'}")
private String mongodbUrl;
config.properties
mongodb.url=1.2.3.4
mongodb.db=hello
对于“ config” bean。
<util:properties id="config" location="classpath:config.properties"/>
跟进
必须以XML或注释注册静态PropertySourcesPlaceholderConfigurer
Bean,以便Spring @Value
知道如何解释${}
//@PropertySource("classpath:/config.properties}")
//@Configuration
@Bean
public static PropertySourcesPlaceholderConfigurer propertyConfigIn() {
return new PropertySourcesPlaceholderConfigurer();
}