您现在的位置是:亿华云 > IT科技
教你如何在 Spring BOOT 中处理配置
亿华云2025-10-03 16:03:41【IT科技】8人已围观
简介大约 8 年后,我目前正在重新使用 Java + Spring 进行编码。在过去的 8 年中,我花在编码上的时间显着增加,因为我现在担任的领导角色让我远离了编写代码。话虽如此,我
大约 8 年后,教何我目前正在重新使用 Java + Spring 进行编码。中处置在过去的理配 8 年中,我花在编码上的教何时间显着增加,因为我现在担任的中处置领导角色让我远离了编写代码。话虽如此,理配我需要了解一定程度的教何编码,尤其是中处置在 Java 世界中,因为这是理配我的大部分项目都使用的语言,除非我熟悉编码,教何否则我无法有效地帮助我的中处置团队。自从我停止编码以来发生了很大的理配变化,我正在重新学习一切。教何这是中处置我将写的许多文章中的第一篇,因为我知道了新事物。理配此外,我更多地从我个人的成果中构建了一个应用程序。我通常不能花一致的时间,这让我可以花更多的云服务器提供商时间学习,而不是试图满足现实生活中客户项目的最后期限。
在这篇文章中,我将讨论如何在 Spring Boot 应用程序中使用外部化配置。
我们将使用 Spring Boot 的默认设置来创建一些配置并在我们的应用程序中读取它们。我们还将研究一种设置属性和基于 YAML 的配置的简单键值方式。
我更喜欢使用 YAML,从现在开始,我将只使用 YAML 基础设置。
在我的实现运行期间,我注意到我最终需要使用。
spring-boot-configuration-processor 依赖项。否则我会得到一个错误,并且代码不会编译。我没有找到太多关于为什么在我的研究中需要这样做,但是添加这个依赖项为我解决了这个问题。
我添加的第二个依赖项是 Actuator,它为我们提供了一些令人兴奋的工具。这是不必要的,服务器租用但如果您正在寻找调试属性并找到更多可使用的配置,我建议您也添加它。
<依赖>
spring-boot-configuration-processor
<可选>真
<依赖>
spring-boot-starter-actuator
3. 设置配置文件以下代码适用于 application.properties 文件,这是您将在 Spring Boot 中获得的默认格式。
# 这是为了暴露Actuator的所有端点。 仅在 DEV 中对所有人使用 *
management.endpoints.web.exposure.include=
*# Custom Properties
bungie.rootPath="https://www.bungie.net/Platform"
bungie.apiKey=000999888111
以下是 YAML 格式的相同属性。
bungie:
rootPath: "https://www.bungie.net/Platform"
apiKey: 000999888111
4. 创建将读取这些配置的 Bean现在我们已经创建了属性,在读取属性时我们需要考虑 2 个用例。
读取一次性属性——在这种情况下,我们可能需要创建一个需要读取一次或不能与任何其他属性分类的属性。在这种情况下,您可以使用@Value 注解来读取它。读取一组属性——在我们的示例中,我们已经在“bungie”类别下确定了两个分组属性。这就是我更喜欢创建属性的方式。我不喜欢有孤儿属性,因此我们只会看到如何设置它们。以下示例将向我们展示如何创建 。 Java Bean/Configuration,它将能够读取我们的属性文件并填充对象。服务器托管package io.howtoarchitect.destinyclanwars.config;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration
@ConfigurationProperties("bungie")
@Getter @Setter
public class BungieClientSettings {
private String rootPath;
private String apiKey;
}
如果你观察上面的代码块,你会注意到一些事情:
我们曾经@Configuration让 Spring 应用程序知道这是一个 bean,应该这样初始化。@Getter并且@Setter来自 Lombok 包,为我们提供了默认的 Getter 和 Setter。这些是强制性的,因为 Spring 应用程序总是需要这些 getter 和 setter。@ConfigurationProperties是这里的主要技巧的注释。它将遍历我们上下文中可用的所有属性,并搜索任何已映射的用户“bungie”。找到后,此注释将映射 YAML/Properties 文件值并将它们添加到我们的字符串中。5. 消费属性完成此设置后,最后一步是在我们的应用程序中读取这些属性。我们将在另一个 Spring bean/service 中读取这些属性。
package io.howtoarchitect.destinyclanwars.bungieclient;
import io.howtoarchitect.destinyclanwars.config.BungieClientSettings;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service;
import org.springframework.web.reactive.function.client.WebClient;
@Service
public class BungieClient {
private static WebClient client;
@Autowired
private BungieClientSettings bungieClientSettings;
public WebClient getDefaultClient() {
client = WebClient.builder()
.baseUrl(bungieClientSettings.getRootPath())
.defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
.defaultHeader("X-API-KEY", bungieClientSettings.getApiKey())
.build();
return client;
}
}
您会注意到我已将其添加BungieClientSettings为@Autowired依赖项。这会在我的类中注入 bean,当我需要访问这些属性时,我需要做的就是bungieClientSettings.getAPIKey()和bungieClientSettings.getRootPath()。
结论这就是您需要做的就是将您的属性外部化。尽早设置这一点很重要,因为如果不这样做,您最终会将其中许多分散在课堂上,并且迁移到多个环境将变得困难。
很赞哦!(329)
相关文章
- 西部数据立足HDD革新,助力企业制胜可持续数字化未来
- 个人域名转为公司需要什么条件?个人域名转为公司该怎么做?
- 这个不用多说,不同平台的注册价格不同,且不同平台对域名释放交易的把控与曝光不同,当然价格相对便宜且平台渠道广操作便利的平台最好。
- 4、说起来容易
- 网络虚拟化和SDN在数据中心中的作用
- 5、使用企业名称的英文名称作为域名也是国内许多企业选择域名的一种方式,特别适合一些与计算机、网络和通信相关的行业。
- 为了避免将来给我们的个人站长带来的麻烦,在选择域名后缀时,我们的站长最好省略不稳定的后缀域名,比如n,因为我们不知道策略什么时候会改变,更不用说我们将来是否还能控制这个域名了。因此,如果站长不是企业,或者有选择的话,如果不能选择域名的cn类,最好不要选择它。
- Status、Creation Date、Expiration Date
- 昇腾AI助力长三角人工智能产业发展!上海人工智能生态赋能中心正式成立,迎首批伙伴入驻
- 为什么喜欢国外注册域名?国外注册域名注意什么?
热门文章
站长推荐
戴尔科技助力企业AI走可持续发展之路
只要我们做的是从目前的市场情况选择域名,从简单易记,从个性特征上,我们就可以找到一个好域名进行注册。域名注册进行域名记录和解析以及绑定网站后,客户可以通过URL登录您的网站。
第五步:重复第四步,直到找到正确的纪录。
四、长串数字域名
vivo数据中心网络链路质量监测的探索实践
域名不仅仅是一个简单的网站。对于有长远眼光的公司来说,在运营网站之前确定一个优秀的域名对有长远眼光的公司来说是非常重要的。这对今后的市场营销、产品营销和企业品牌建设都具有十分重要的意义。优秀的域名是企业在市场竞争中获得持久优势的利器。
其次,一般域名注册有一个获取密码的按钮,域名注册商点击后会向您发送密码。在得到域名注册商发送的密码后,将其传输到域名服务提供商网站,然后输入密码,此时域名呈现申请状态。提交申请后,原注册人通常会向您发送一封电子邮件,询问您是否同意转让。此时,您只需点击同意转移按钮,域名注册商就可以成功转移。
.com域名是国际最广泛流行的通用域名,目前全球注册量第一的域名,公司企业注册域名的首选。国际化公司通常会注册该类域名。