- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
默认情况下,我想拥有一个包含所有字段的不可变属性类。将属性包含到库中。
默认情况下,我可以使用简单类型创建不可变属性类,但不能使用复杂类型。有没有办法将复合类型的默认值设置为不可变的 ConfigurationProperties 类?
import lombok.Getter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.ConstructorBinding;
import org.springframework.boot.context.properties.bind.DefaultValue;
@ConfigurationProperties(prefix = "foo")
@ConstructorBinding
@Getter
public final class AnyProperties {
private final String something
private final AnySubProperties sub;
public AnyProperties(
@DefaultValue("foo") String something,
AnySubProperties sub // Any annotation here ? Like @DefaultValue
) {
this.something = something;
this.sub = sub; // Always null !
}
@Getter
public static final class AnySubProperties {
private String finalValue;
public AnySubProperties(@DefaultValue("bar") String finalValue) {
this.finalValue = finalValue;
}
}
}
sub
是
null
如果没有定义属性(使用
yaml
或
property file
)。
sub
与设置
finalValue
(与酒吧
value
)。
import lombok.Getter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.ConstructorBinding;
import org.springframework.boot.context.properties.bind.DefaultValue;
@ConfigurationProperties(prefix = "foo")
@ConstructorBinding
@Getter
public final class AnyProperties {
private final String something
private final AnySubProperties sub;
@ConstructorBinding
public AnyProperties(
@DefaultValue("foo") String something,
AnySubProperties sub // Any annotation here ? Like @DefaultValue
) {
this.something = something;
this.sub = null != sub ? sub : new AnySubProperties();
}
@Getter
public static final class AnySubProperties {
private static final String DEFAULT_FINAL_VALUE = "bar";
private String finalValue;
public AnySubProperties() {
this(DEFAULT_FINAL_VALUE);
}
@ConstructorBinding
public AnySubProperties(@DefaultValue(DEFAULT_FINAL_VALUE) String finalValue) {
this.finalValue = finalValue;
}
}
}
最佳答案
你非常接近。您可以简单地将 @DefaultValue 注释添加到该字段中,不带参数,添加到注释中:
public AnyProperties(
@DefaultValue("foo") String something,
@DefaultValue AnySubProperties sub
) {
this.something = something;
this.sub = sub; // Always null !
}
关于java - ConfigurationProperties 和 ConstructorBinding 的复杂类型 DefaultValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60953959/
这并不像看起来那么微不足道。这是 this question 的后续行动. 假设我有一个带有属性的 Windows 窗体用户控件: // using System.ComponentModel; [D
我对原生 javascript defaultValue 功能有点困惑。我已经了解必须设置 html 输入的值,并且该值是初始默认值。 当我在点击事件中有一个特定的输入(文本)元素时,我想将其恢复为其
我正在尝试设置多分支管道配置,其中“部署” bool 复选框默认为 true在非生产分支上,以及 false在生产构建上。 pipeline { parameters{ booleanPa
我不知道为什么这不起作用 Demo 我有以下 es6 代码 const {createFactory, createClass, DOM: { label, input, button }} = Re
这个问题已经有答案了: Default value for public properties (2 个回答) 已关闭 7 年前。 我正在使用C# windows窗体控件库程序来创建自己的控件,代码如
这个问题已经有答案了: Default value for public properties (2 个回答) 已关闭 7 年前。 我正在使用C# windows窗体控件库程序来创建自己的控件,代码如
普通 HTML 下拉菜单: Before redirecting to PayPal After payment is successful Never send em
在 JAX-RS 中,我可以定义一个查询参数来填充列表: @GET @Path("/foo") public String myService( @DefaultValue("def
我有以下汽车属性 [DefaultValue(true)] public bool RetrieveAllInfo { get; set; } 当我尝试在代码中使用它时,我发现默认的 false 是
谁能告诉我在变更集中指定defaultValue =“0”与defaultValueNumeric =“0”之间的区别吗?用于bigint列。 http://www.liquibase.org/man
我正在尝试使用 createContext 构建上下文来自 react API: import React, { useState, createContext } from 'react'; exp
我注意到,当我为下拉列表设置我的 defaultValue 时,尽管当我第一次将组件添加到页面时在下拉列表中正确选择了它,它不会将 defaultValue 写入相应的 JCR,直到我编辑组件并保存它
我有一个使用jax-rs的项目,我想以注释@DefaultValue的方式生成javadoc 我怎样才能用gradle实现呢? 最佳答案 我想你可以做类似的事情 javadoc { optio
我有一个 React 组件,它呈现 3 个选择元素。我想为所有 3 个设置默认值,但当我尝试这样做时,它不起作用。 我使用传入的名为 type 的属性来区分每一个。类型是每个选择元素的名称。我的 de
假设我具有以下域类: class DomainClass{ String field1 ... static mapping = { field1 defaultValu
在域中,我对状态属性有以下说明 static mapping={ status defaultValue="NNE" } static constraints={ status(null
我正在尝试将流反序列化为具有默认值属性的对象,而 protobuf-net 只是在流中缺少这些属性时才吸收这些属性。我是否需要在反序列化之前手动将所有属性设置为其默认值? 最佳答案 DefaultVa
当我为我的服务指定 @DefaultValue 时,在没有提供参数的情况下调用它时,为什么它只能是字符串,而不能是任何其他类型?下面的 @DefaultValue(0) 会抛出错误“无法从 int 转
我想知道是否有办法将 radio 重置为其最初选择的选项。我知道用于输入的 defaultValue 但有没有办法让它在页面加载时将 radio 重置为最初选择的值? 我不想简单地取消选择所有 rad
我使用 RingtonePreference 并希望使用默认通知声音作为默认首选项值。为此,我遵循了以下建议:RingtonePreference Default value 可悲的是,实际上我得到了
我是一名优秀的程序员,十分优秀!