我是Java world和Spring Boot的新手,我正在尝试通过ConfigurationProperties
注释访问位于YAML文件中的一些配置值。
但是每当我试图访问服务中任何地方的配置值时,我得到的是一个空值。
my_config:
test: "plop"
下面是validationproperties
配置类:
@Configuration
@ConfigurationProperties(prefix = "my_config")
public class ValidationProperties {
@NotNull
private String test;
public void setTest(String test) {
this.test = test;
}
public String getTest() {
return this.test;
}
}
使用它的验证器服务:
@Service
public class MyValidator implements ConstraintValidator<MyConstraint, MyEntity> {
@Autowired
private ValidationProperties validationProperties;
@Value("${my_config.test}")
private String test;
@Override
public boolean isValid(MyEntity entity, ConstraintValidatorContext context) {
System.out.println(this.test); // null value, why?
}
}
我还在主类中添加了@EnableConfigurationProperties
注释。
System.out.println(this.validationProperties.getTest());
尝试在主应用程序类或任何其他@configurationproperties(ValidationProperties.class)
类上添加@enableConfigurationProperties
。
此外,在ValidationProperties上添加@component
注释也会起作用。
不需要通过@value
注释注入值,只需要通过注入的validationproperties
对象的getter访问它
我的财产包括: 我的申请。属性,如: 测试是: 故障原因: 我尝试过很多事情,比如: 添加SpringBootTest将PropertySource替换为 TestPropertySource测试属性源 Spring开机版本为:2.2.2。释放 有人有主意吗?
当我试图通过使用JavaBean数据源并在表中显示bean的字段值来生成报告时,PDF报告显示的是空值。 我有一个简单的bean(PersonBean)如下所示: 填充并返回bean集合的Person类如下所示:
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd“version=”2.5“>
我在尝试执行此代码时遇到以下错误。 java.lang.IllegalArgumentException:在“com.app.aggregatorappaconfiguration”上找不到ConfigurationProperties注释。在org.springframework.util.assert.NotNull(assert.java:115)~[spring-core-4.3.2.re
我使用iReport设计了我的报告,并用Java编译了它。
问题内容: 我想获取字段的字符串值(它们可以是长字符串或任何对象的类型), 如果一个字段为空,那么它应该返回空字符串,我用番石榴做过; 但是如果gearbox为null,则返回null!非空字符串,因为valueOf methdod返回字符串“ null”,这会导致错误。 有任何想法吗? EDIt:有100多个字段,我正在寻找易于实现的字段 问题答案: 您可以使用(Java 7中的标准): 从链接