java - 在 application.yml 中设置 bean 优先级
问题描述
我有2个春豆
@Bean
public CacheManager hazelcastCacheManger() {
...
}
@Bean
public CacheManager infinispanCacheManger() {
...
}
如何在 application.yml 属性文件中设置要在我的应用程序中使用的 CacheManager 类型的 bean?也许像参数化限定符之类的东西?
解决方案
您可以@Profile
在 bean 声明上注明:
@Bean
@Profile("profile1")
public CacheManager hazelcastCacheManger() {
...
}
@Bean
@Profile("profile2")
public CacheManager infinispanCacheManger() {
...
}
并application.yml
指示哪个配置文件处于活动状态:
spring:
profiles:
active:profile2
这是更多基于 Profile 的属性和 yaml 示例的详细信息。
如果您需要不同的配置文件进行不同的启动,您可以在 JVM 启动属性中指定活动配置文件。
-Dspring.profiles.active=profile2
推荐阅读
- r - 使用 R 中的循环创建 50 多个国家/地区的地块
- haskell - 如何更新用 Maybe 定义的 Data 属性
- python - 仅在特定点工作的两个图像之间使用蒙版的碰撞
- flutter - 无法使用 Flutter Dio multipartFile 上传文件
- reactjs - 如何使用 Modular Web SDK 版本 9 获取 Cloud Firestore 集合中的所有文档?
- javascript - 如何在 Flutter 移动应用上显示 Web iframe
- reactjs - 在 useReducer 登录时反应 Typescript 错误
- github - 您可以在 GitHub Action 的 `action.yml` 和工作流文件中使用带有输入的 `enum` 吗?
- c# - WPF MVVM 绑定到父视图的 ViewModel 属性
- reactjs - 挣扎于 PUT 请求