弹簧引导强制属性源从内部 jar 读取



>我有一个从 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,以便更改此行为并手动扫描所有类装入器以查找资源。 但是我会先尝试对类路径条目进行简单的重新排列。

最新更新