有时,我们必须从类路径外部配置属性文件,以便任何人都可以访问此文件而无需查看应用程序。Spring boot 提供了许多方法来配置此,但大多数,只有当我们从类路径读取属性文件,如果我们要从文件系统读取,那么它将无法访问,你会得到一些错误,所以现在我们将看到如何克服这个问题。

属性文件的弹簧启动默认搜索是

  1. /配置当前目录的子目录
  2. 当前目录
  3. 类路径/配置包
  4. 类路径根

这是标准订单。

要外部化属性文件,我们必须通过更改 spring.config.location 的属性来重写配置应用程序的位置。

如果我们使用 spring.config.location 属性,它也将替换属性文件和配置文件设置的默认位置。我们还可以提供其他位置,这些位置将在默认位置之前进行搜索。

Java

 

1
@SpringBootApplication
2
公共应用程序扩展SpringBootServlet 初始化器|
3
设置 spring.config.位置在这里,如果我们想要运行应用程序作为一个罐子
4
公共静态空隙字符串args) |
5
新的春季应用程序生成器应用程序.
6
.来源应用程序
7
属性获取属性())

8
.运行(args);
9
}
10
设置 spring.config.位置在这里,如果我们想要部署应用程序作为战争在 tomcat
11

12
@Override
13
受保护的弹簧应用程序生成器配置春季应用程序构建器 Spring 应用程序生成器) |
14
返回弹簧应用程序生成器
15
来源应用程序

16
.属性获取属性());
17
}
18
静态属性获取属性() |
19
属性道具 = 属性();
20
道具.("春天.配置.位置","file:///D:/file_dir/application.properties");
21
返回道具;
22
}

21
返回道具;

结论

在这篇文章中,我解释了如何运行你的弹簧引导应用程序的外部Tomcat。对我来说,这是一个真实的情况,我必须解决这个查询。

希望当你面临类似的问题时,这将提供一些有用的知识。如果你喜欢我的帖子,别忘了分享!

最后,为了加深理解,我建议你在这里阅读春天的官方文件。

我们可以看到,Spring Boot 框架本身为我们负责外部化配置。
通常,我们只需要将属性值放在正确的文件和位置,但我们也可以使用 Spring 的 Java API 进行更多控制。

谢谢你给你宝贵的时间。继续阅读,继续学习。

Comments are closed.