>我有一个从 Spring 引导中的 application.properties 读取属性的类
@Configuration
@Component
@PropertySource("classpath:application.properties")
public class TestUtil {
@Value("${usehttps}")
private String usehttps="";
@Value("${verifycertificate}")
private String verifycertificate="";
}
问题是我希望我的代码只从我的内部jar文件中读取application.properties.applications.properties位于src/main/resources中。如果我在 jar 所在的位置创建具有相同属性的应用程序属性,则这些属性在运行时会被外部文件覆盖。就我而言,这可能是一个安全问题。
这能实现吗?
jar 文件和属性文件在CLASSPATH
中找到的顺序在这里很重要,以及类加载器层次结构(JarLauncher 给你的(。
您可以尝试为 ResourcePatternResolver 重新定义 Bean,以便更改此行为并手动扫描所有类装入器以查找资源。 但是我会先尝试对类路径条目进行简单的重新排列。