gpt4 book ai didi

java - 如何从 Spring 应用程序内部加载此文件路径

转载 作者:行者123 更新时间:2023-12-02 00:31:09 26 4
gpt4 key购买 nike

我之前硬编码了一个加载 json 文件的路径,如下所示:

JsonParser parser = jf.createJsonParser(new File("/some/path/here/myapp/WEB-INF/settings.json"));

所以我尝试将其提取到属性文件中,如下所示,files.properties:

path.to.json=/some/path/here/myapp/WEB-INF/settings.json

现在如何修改对 jf.createJsonParser 的调用以使用 files.properties path.to/json 键中的路径加载文件?

最佳答案

我有点困惑。你的标题表明你正在寻找一个 Spring 解决方案,但据我所知,你在这里没有使用 IOC。否则,您将注入(inject) JsonParser bean,而不是在代码中实例化它。

在没有看到你正在做的事情的全局结构的情况下,我会执行以下操作(假设你已经正确配置了 Spring)。

applicationContext.xml:

<bean id="jsonParser" factory-bean="<jf bean definition>" factory-method="createJsonParer">
<constructor-arg>classpath:/settings.json</constructor-arg>
</bean>

然后在使用 JsonParser 的实际类中,为了简单起见,将其 Autowiring :

class myClass{
@Autowired
JsonParser jsonParser;

public void myMethod(){
String data = jsonParser.doSomthingNeatHere()....
}

}

我假设 JsonParser 属于原型(prototype)范围,但如果更符合您的需求,您可以将其更改为单例。另外,我只给了您一些伪代码,让您了解如何让 Spring 管理 bean 的生命周期,而不是您自己实例化它。

您可以阅读有关 Spring 3 和 IOC 的更多信息 here如果您需要更多引用。

关于java - 如何从 Spring 应用程序内部加载此文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9050109/

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