java - 通过 SpringBoot Profiles 配置 API Host
问题描述
我正在为我的项目使用 SpringBoot、Java 和 Gradle。我的 API 连接到通过 spring 属性配置的数据库,但也依赖于外部 API Rest 进行某些数据检索。
我的问题是有没有办法使用弹簧属性配置外部 API 主机和密码?我应该使用哪些属性?有没有办法创建自定义属性?
## application.yml
---
spring:
profiles: dev
datasource:
platform: postgres
url:
jdbc:postgresql://${DATABASE_HOST}:${DATABASE_PORT}/${DATABASE_NAME}
username: ${DATABASE_USER}
password: ${DATABASE_PASSWORD}
driverClassName: org.postgresql.Driver
initialize: true
liquibase:
change-log: classpath:db/changelog-master.xml
解决方案
是的。最简单的方法就是定义您喜欢的任何属性名称application.yml
:
api:
url: http://api.com/blablba/
password: fooPassword
然后使用@Value
将这些值注入 API 客户端 bean:
@Component
public class ApiClient {
@Value("${api.url}")
private String url;
@Value("${api.password}")
private String password;
}
推荐阅读
- android - 从 GitLab 读取 build.gradle 上的环境变量
- diff - WinMerge如何停止遍历链接
- flutter - 如何在颤振应用程序中使用 bloc 添加抽屉导航器?
- java - 在 Spring Boot 中上传 CSV - 找不到标题名称“XXXXX”
- python - Swiper Kivy python中的垂直滚动视图
- sql - 简单的家谱查询
- javascript - Popper/Tippy 禁止其他元素溢出
- android - 如何在android的底部导航栏中获取linkedin类型的图标?
- python - 为什么我不能在 1 个数据帧中获得所有循环数据帧?
- swift - 如何通过 WKWebView 在应用程序购买中使用 Apple