Spring @Value 设置默认值

您所在的位置:网站首页 java数组设置默认值 Spring @Value 设置默认值

Spring @Value 设置默认值

2024-06-07 12:55| 来源: 网络整理| 查看: 265

本文转载自Spring @Value 设置默认值

概述

在 Spring 组件中使用 @Value 注解的方式,很方便的读取 properties 文件的配置值。

使用场景

声明的变量中使用。

public static class FieldValueTestBean { @Value("#{ systemProperties['user.region'] }") private String defaultLocale; }

setter 方法中。

public static class PropertyValueTestBean { private String defaultLocale; @Value("#{ systemProperties['user.region'] }") public void setDefaultLocale(String defaultLocale) { this.defaultLocale = defaultLocale; } }

方法。

public class SimpleMovieLister { private MovieFinder movieFinder; private String defaultLocale; @Autowired public void configure(MovieFinder movieFinder, @Value("#{ systemProperties['user.region'] }") String defaultLocale) { this.movieFinder = movieFinder; this.defaultLocale = defaultLocale; } // ... }

构造方法。

public class MovieRecommender { private String defaultLocale; private CustomerPreferenceDao customerPreferenceDao; @Autowired public MovieRecommender(CustomerPreferenceDao customerPreferenceDao, @Value("#{systemProperties['user.country']}") String defaultLocale) { this.customerPreferenceDao = customerPreferenceDao; this.defaultLocale = defaultLocale; } // ... } 字符串

字符串类型的属性设置默认值。

@Value("${some.key:my default value}") private String stringWithDefaultValue;

some.key 没有设置值,stringWithDefaultValue 变量值将会被设置成 my default value 。

如果默认值设为空,也将会被设置成默认值。

@Value("${some.key:}") private String stringWithBlankDefaultValue; 基本类型

基本类型设置默认值。

@Value("${some.key:true}") private boolean booleanWithDefaultValue; @Value("${some.key:42}") private int intWithDefaultValue;

包装类型设置默认值。

@Value("${some.key:true}") private Boolean booleanWithDefaultValue; @Value("${some.key:42}") private Integer intWithDefaultValue; 数组

数组的默认值可以使用逗号分割。

@Value("${some.key:one,two,three}") private String[] stringArrayWithDefaults; @Value("${some.key:1,2,3}") private int[] intArrayWithDefaults; SpEL

使用 Spring Expression Language (SpEL) 设置默认值。

下面的代码标示在systemProperties属性文件中,如果没有设置 some.key 的值,my default system property value 会被设置成默认值。

@Value("#{systemProperties['some.key'] ?: 'my default system property value'}") private String spelWithDefaultValue; 结语

上面讲解使用 Spring @Value 为属性设置默认值。在项目中,提供合理的默认值,在大多情况下不用任何配置,就能直接使用。达到零配置的效果,降低被人使用的门槛。简化新Spring应用的搭建、开发、部署过程。

参考链接

Using Spring @Value with Defaults

Annotation-based configuration



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3