但是,我希望有一个通用的PropertyHelper
类,它可以用于使用application.properties中的属性构建java.util.properties
。这能做到吗?
我们目前正在通过以下方式手动实现此目标:
public class PropertyHelper {
private static Properties loadProperties() {
try {
String propsName = "application.properties";
InputStream propsStream = PropertyHelper.class
.getClassLoader().getResourceAsStream(propsName);
if (propsStream == null) {
throw new IOException("Could not read config properties");
}
Properties props = new Properties();
props.load(propsStream);
您可以在环境周围创建一个包装器
,它将返回一个现成的PropertySource
:
您可以这样使用它:
@PropertySource(name="myName", value="classpath:/myName.properties")
public class YourService {
@Autowired
private CustomMapProperties customMapProperties;
...
MapPropertySource mapPropertySource = customMapProperties.getMapProperties("myName");
for(String key: mapPropertySource.getSource().keySet()){
System.out.println(mapPropertySource.getProperty(key));
}
CustomMapProperties
插入Environment
并根据其名称返回请求加载的属性文件:
@Component
public class CustomMapProperties {
@Autowired
private Environment env;
public MapPropertySource getMapProperties(String name) {
for (Iterator<?> it = ((AbstractEnvironment) env).getPropertySources().iterator(); it.hasNext();) {
Object propertySource = it.next();
if (propertySource instanceof MapPropertySource
&& ((MapPropertySource) propertySource).getName().equals(name)) {
return (MapPropertySource) propertySource;
}
}
return null;
}
}
我想问一下,如何在SpringBoot中将文件夹作为资源或文件加载。假设我有src/main/resources/testfolder,我想做如下事情: ^但这将失败,因为ResourceUtils只能加载实际文件(.txt、.csv等),不是文件夹。。提前非常感谢。。 编辑: 原因是我需要得到文件夹的绝对路径... folderpath应该是“/workspace/intellij/Projec
问题内容: 我有一堆.RData时间序列文件,想直接将它们加载到Python中,而无需先将文件转换为其他扩展名(例如.csv)。对实现此目标的最佳方法有何想法? 问题答案: 人们在R-help和R-dev列表上问这种事情,通常的答案是代码是文件格式的文档。因此,任何其他语言的任何其他实现都是 hard ++ 。 我认为唯一合理的方法是安装RPy2并从中使用R的功能,并随即转换为适当的python对
问题内容: 我试图将我的网站从基于XML的配置文件迁移到基于JSON的配置文件。有没有一种方法可以加载文件,使其变成对象?我一直在搜索网络,但找不到。我已经将文件转换并另存为。我宁愿不使用第3方库。 问题答案: 您 确实 应该使用已建立的库,例如Newtonsoft.Json(甚至Microsoft都使用MVC和WebAPI等框架),或者.NET的内置JavascriptSerializer。 这
问题内容: 我一直试图将多个文件加载到一个表中,以便它们适合同一行。 我可以将它们分别插入,但是问题出在值之内,因此我打算加入该表。如果发生这种情况,我会得到太多的值-无用的数据。 我实际上研究过的另一件事是将文件与 但是,它变成了一个烂摊子。如果第一种方法不起作用,那么我可以使用第二种方法,但是我也需要有关它的建议。 问题答案: 您可以将4个文件加载到4个(临时)表中(每个表都有一个自动编号的字
我在我的机器上导出了一些简单的数据库CRED作为ENV变量。 我试图将这些动态加载到spring boot的配置文件中,但没有成功。我开始相信这是因为应用程序在TomCat容器中运行,因此与机器环境变量隔离。 但是,它仍然被视为的纯文本。Spring Boot是否具有读取系统环境变量的能力?
我正在尝试在Spring Boot项目中加载应用程序属性进行测试。我也在使用@DataJpaTest注释。许多人建议使用@TestProperty tySource注释与@datajpaTest的组合,但它不是加载属性。如果我使用@SpringBooTest,它就是加载属性。 我的应用程序属性文件位于主/资源/文件夹中。如果我使用,它正在工作,但我有 这未能使用Spring启动测试进行自动配置。我