gpt4 book ai didi

java - Spring @Value 连接指向 JSON 文件的 Resource 实例

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

我见过很少的例子使用这个并且试图让它工作但无法:

package com.acme.service;

public class SampleServiceTest {

@Value("classpath:data.json")
private Resource jsonData;

@Test
public void testThis() {
String json = String.join("\n", Files.readLines(jsonData.getFile(), Charset.defaultCharset()));
}
}

我的文件结构(遵循Maven标准)如下:

data-microservice (top folder)
-src/test/java/com/acme/service/SampleServiceTest
-src/test/resources/data.json

我已经尝试了其中的几种,但似乎不起作用:

  1. 类路径:data.json
  2. 类路径:/data.json
  3. 类路径:src/test/resources/data.json
  4. 类路径:/src/test/resources/data.json

希望获得有关此问题的帮助,并且您是否还可以提供正确路径的背景信息(即为什么正确路径有效)。

最佳答案

发现了,我很傻,在没有任何 Spring 上下文的情况下运行测试。只需将这些注释放入测试类即可:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = Application.class)
public SampleServiceTest {
//body here
}

并且“classpath:data.json”有效!

尽管如果有人可以解释为什么类路径在不指定目录(src/test/resources)的情况下也能工作,那确实会很有帮助。

关于java - Spring @Value 连接指向 JSON 文件的 Resource 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42660960/

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