spring 注入null或空字符串作为属性的默认值

watbbzwu  于 2023-06-04  发布在  Spring
关注(0)|答案(5)|浏览(491)

如果没有指定属性,是否可以注入null或空白字符串作为将在spring文件中使用的默认值?目前我最好的是

<constructor-arg index="1" value="@{data.url:&quot;&quot;}"/>

在代码中解析为""

xggvc2p6

xggvc2p61#

空猫王为我工作...

@Value("${http.proxyHost?:}")
public String proxyHost = null;
b4qexyjb

b4qexyjb2#

你试过SpEL吗?可能是这样的:

<constructor-arg index="1" value="#{'${data.url}'==null?'':'${data.url}'}"/>

更新

我刚想起来有一个更简单的方法(正如很好地描述的here)。尝试:

<constructor-arg index="1" value="${data.url:''}"/>
cbjzeqam

cbjzeqam3#

如果您在源代码中使用注解,则可以使用以下方法:

@Value("${data.url:#{null}}")
private String dataUrl;
jdzmm42g

jdzmm42g4#

1.如果要将value设置为null

@Value("${data.url:#{null}}")
private String dataUrl;

1.如果要将value设置为空字符串

@Value("${data.url:}")
private String dataUrl;
yrdbyhpb

yrdbyhpb5#

要注入空字符串作为默认值,可以使用带有defaultValue属性的@Value注解

@Value("${data.url:}")
private String dataUrl;

你也可以像这样定义属性:

@Value("${data.url:#{null}}")
private String dataUrl;

相关问题