gpt4 book ai didi

java - Spring - 使用注释设置属性值而不使用属性文件

转载 作者:太空宇宙 更新时间:2023-11-04 10:43:12 24 4
gpt4 key购买 nike

我有一个 bean 类,例如

class Sample {
private String message;
public void setMessage(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
}

我想设置这个属性的值。

在 Xml 配置中,我可以这样做

<bean id = "sample" class = "Sample"
<property name = "message" value = "Hello there!"/>
</bean>

如何实现同样的事情,即使用 Java 注释设置属性的值?现在我读到,我们可以使用一些属性文件来使用 @Value 注释,但是如果不使用属性文件,就不能像我通过 xml 文件那样完成它吗?或者使用属性文件有必要

我可以通过在 setter 方法上方添加 @Value("Hello There!") 来做到这一点。但我感觉这不是一个好主意。如何使用Java注解为不同实例设置属性值?

谢谢。

最佳答案

插入到@Value中的值可以来自属性文件以外的地方,例如它也可以使用系统属性。

使用指南 here作为起点应该可以帮助您更好地理解。

As a basic and mostly useless usage example we can only inject “string value” from the annotation to the field:

@Value("string value")
private String stringValue;

Using the @PropertySource annotation allows us to work with values from properties files with the @Value annotation. In the following example we get “Value got from the file” assigned to the field:

@Value("${value.from.file}")
private String valueFromFile;

We can also set the value from system properties with the same syntax. Let’s assume that we have defined a system property named systemValue and look at the following sample:

@Value("${systemValue}")
private String systemValue;

Default values can be provided for properties that might not be defined. In this example the value “some default” will be injected:

@Value("${unknown.param:some default}")
private String someDefault;

关于java - Spring - 使用注释设置属性值而不使用属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48716684/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com