springboot怎么获取application.yml里值
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,本篇内容主要讲解"springboot怎么获取application.yml里值",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"springboot怎么获取
千家信息网最后更新 2024年11月24日springboot怎么获取application.yml里值
本篇内容主要讲解"springboot怎么获取application.yml里值",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"springboot怎么获取application.yml里值"吧!
在项目中,很多时候需要用到一些配置信息,这些信息在测试环境和生产环境下可能会有不同的配置,后面根据实际业务情况有可能还需要再做修改。我们不能将这些配置在代码中写死,最好是写到配置文件中,比如可以把这些信息写到 application.yml
文件中。
那么,怎么在代码里获取或者使用这个地址呢?有2个方法。
方法一:
我们可以通过@Value 注解的 ${key} 即可获取配置文件(application.yml)中和 key 对应的 value 值,这个方法适用于微服务比较少的情形
方法二:
在实际项目中,遇到业务繁琐,逻辑复杂的情况,需要考虑封装一个或多个配置类。例如,假如在当前服务中,某个业务需要同时调用微服务1、微服务2和微服务3。
如果这样一个个去使用 @Value 注解引入相应的微服务地址的话,太过于繁琐。
也许实际业务中,远远不止这三个微服务,甚至十几个都有可能。对于这种情况,我们可以先定义一个 MicroServiceUrl
类来专门保存微服务的 URL
import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.stereotype.Component;@Component@ConfigurationProperties(prefix = "url")public class MicroServiceUrl {private String orderUrl;private String userUrl;private String shoppingUrl;public String getOrderUrl() {return orderUrl;}public void setOrderUrl(String orderUrl) {this.orderUrl = orderUrl;}public String getUserUrl() {return userUrl;}public void setUserUrl(String userUrl) {this.userUrl = userUrl;}public String getShoppingUrl() {return shoppingUrl;}public void setShoppingUrl(String shoppingUrl) {this.shoppingUrl = shoppingUrl;}}
添加依赖:
org.springframework.boot spring-boot-configuration-processor true
目前配置写好了,此时,不需要在代码中一个个引入这些微服务的 URL,直接通过 @Resource 注解将刚刚写好的配置类注入进来即可使用了,以下是测试Controller:
import com.example.test1.config.MicroServiceUrl;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;/*** 获取配置文件(application.yml)中和 key 对应的 value 值* 2种方法*/@RestController@RequestMapping("/test")public class ConfigController {private static final Logger LOGGER = LoggerFactory.getLogger(ConfigController.class);@Value("${url.orderUrl}")private String orderUrl;@Resourceprivate MicroServiceUrl microServiceUrl;@RequestMapping("/config")public String testConfig() {LOGGER.info("获取的地址为:{}", orderUrl);LOGGER.info("微服务1地址为:{}", microServiceUrl.getOrderUrl());LOGGER.info("微服务2地址为:{}", microServiceUrl.getUserUrl());LOGGER.info("微服务3地址为:{}", microServiceUrl.getShoppingUrl());return "success";}}
到此,相信大家对"springboot怎么获取application.yml里值"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
服务
配置
地址
方法
业务
实际
文件
代码
信息
情况
注解
繁琐
内容
环境
项目
学习
测试
不同
复杂
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
tbt2服务器是什么cpu
软件开发实施工程师工资多少
数据库技术支持和程序员的区别
这些网络安全隐患你知道吗
成都软件开发培训学校哪个好
南宫软件开发哪里实惠
关于如何看待网络安全问题
材料库数据库设计
昌邑天气预报软件开发
宁波奉化附近戴尔机架式服务器
网络技术人员能力是什么
惠州管理软件开发有限公司
新建数据库链接
榕美网络安全
美国政府与高校合作网络安全
山东税务服务器异常怎么回事
下载网站数据库
网络安全法ppt背景
深圳市易联网络技术
数据库原理及意义第二章知识框架
南瑞的软件开发是外包人员吗
无车承运软件开发报价
河南软件开发参考价格
正规软件开发要求
系统数据库的功能和实现
数据库8001
软件开发库存管理项目
海洋数据库搜索
软件开发回车键
即墨区app定制软件开发哪家好