Spring @Value默认值

在本教程中,我们将向您展示如何为@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。

跟进
必须以XML或注释注册静态PropertySourcesPlaceholderConfigurer Bean,以便Spring @Value知道如何解释${}

//@PropertySource("classpath:/config.properties}")
  //@Configuration

  @Bean
  public static PropertySourcesPlaceholderConfigurer propertyConfigIn() {
	return new PropertySourcesPlaceholderConfigurer();
  }

参考文献

  1. SpringEL表情

翻译自: https://mkyong.com/spring3/spring-value-default-value/

你可能感兴趣的:(Spring @Value默认值)