我想知道在Sping Boot 中是否有任何方法可以通过使用 Dynamic Keys 从属性文件中读取属性值。我知道属性可以放在application.properties中,并且可以使用@Value("propertyKey")读取,但我的键将是动态的。我知道@PropertySource可以读取属性值,我可以动态构造我的键。那么,有没有什么方法是由Sping Boot 提供的呢?
application.properties
@Value("propertyKey")
@PropertySource
368yc8dk1#
您可以用途:
@Autowired private Environment env;
字符串然后从代码中加载属性:
env.getProperty("your.property")
型
mzaanser2#
1-通过Java注解注册属性文件。
@Configuration @PropertySource("classpath:test.properties") public class PropertiesJavaConfig { }
字符串2-运行时动态选择合适的文件。
@PropertySource({ "classpath:persistence-${envTarget:DB}.properties" })
pjngdqdw3#
如果您正在从www.example.com阅读application.properties,您只需定义freakman指定的环境springautowired变量(org.springframework.core.env.Environment)。但是,如果您使用的是特定于某些属性的新属性文件,则可以使用以下代码:
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; import org.springframework.core.env.Environment; @Configuration @PropertySource("classpath:filename.properties") public class CustomConfig { @Autowired Environment env; public String getProperty(String keyName) { return env.getProperty(keyName); } }
字符串
6uxekuva4#
按照以下步骤操作。1.使用private环境env;类,并导入import org.springframework.core.env.Environment;1.自动连接私有Environment类,如下所示私人环境;public FileSizeValidator(Environment environment){ this. environment = environment;}1.使用getProperty方法调用该值第一个月
4条答案
按热度按时间368yc8dk1#
您可以用途:
字符串
然后从代码中加载属性:
型
mzaanser2#
1-通过Java注解注册属性文件。
字符串
2-运行时动态选择合适的文件。
型
pjngdqdw3#
如果您正在从www.example.com阅读application.properties,您只需定义freakman指定的环境springautowired变量(org.springframework.core.env.Environment)。但是,如果您使用的是特定于某些属性的新属性文件,则可以使用以下代码:
字符串
6uxekuva4#
按照以下步骤操作。
1.使用private环境env;类,并导入
import org.springframework.core.env.Environment;
1.自动连接私有Environment类,如下所示
私人环境;
public FileSizeValidator(Environment environment){ this. environment = environment;}
1.使用getProperty方法调用该值
第一个月