创建前缀一样的文件_SpringBoot:配置文件属性读取

94f980bc401306c7441b3f60a81ee822.png

SpringBoot中默认加载的是application.properties或者application.yaml文件,当然也支持自定义的属性文件。我们可以在此文件中写一些自己想要的配置信息,然后在用的地方读取。

默认属性文件

在application.properties文件中添加配置信息,如下:

my.name=蜗牛my.age=30

使用@Value 读取

@RestControllerpublic class PropertiesReadController {  //${}中的key一定要对应正确    @Value("${my.name}")    private String name;    @Value("${my.age}")    private Integer age;    @RequestMapping(value = "/hello", method= RequestMethod.GET)    public String hello(){        return "hello, name:" + name+"  age:"+age;    }}

启动服务,访问localhost:8080/hello 可以看到返回信息

d5cb3e0da40d5c7a9bbb2aa62d9e5cbc.png

对于属性值比较少的情况,我们使用@Value注解来获取也还是比较方便的,但是当配置的属性值比较多时,代码中到处写读取值的,显得不是很优雅。

使用@ConfigurationProperties 读取

修改application.properties文件,添加如下配置信息

jdbc.driver=com.mysql.jdbc.Driverjdbc.url=localhost:3306/testjdbc.username=rootjdbc.password=123456

创建一个接收配置信息的对象

@Component//指定要读取的信息的前缀@ConfigurationProperties(prefix = "jdbc")public class JdbcProperties {    private String driver;    private String url;    private String username;    private String password;    // 省略get 和 set方法}

通过@ConfigurationProperties 注解和 prefix属性我们指定了当前类要读取的配置信息,通过@Component 注解将当前对象交给spring管理,在我们需要的地方就可以注入使用;

@RestControllerpublic class PropertiesReadController {    @Autowired    private JdbcProperties jdbcProperties;    @RequestMapping(value = "/jdbc", method= RequestMethod.GET)    public String helloJdbc(){    //打印输出读取的信息           System.out.println("driver:"+jdbcProperties.getDriver());        System.out.println("url:"+jdbcProperties.getUrl());        System.out.println("username:"+jdbcProperties.getUsername());        System.out.println("password:"+jdbcProperties.getPassword());        return "hello jdbc";    }}

请求当前方法,可以看到控制台打印的信息

ad1b08842eb1d28b64dfe85cf8f86650.png

自定义属性文件

前边也说到了,默认读取的是application.properties或者application.yaml文件中的内容,我们也可以指定读取自己定义的配置文件中的内容。

在resources目录下创建jdbc.properties文件,并写入内容,如下:

my.jdbc.driver=com.mysql.jdbc.Drivermy.jdbc.url=localhost:3306/testmy.jdbc.username=rootmy.jdbc.password=123456

修改上边的JdbcProperties类

@Component//指定要读取的信息的前缀@ConfigurationProperties(prefix = "my.jdbc")@PropertySource(value="classpath:jdbc.properties")public class JdbcProperties {    private String driver;    private String url;    private String username;    private String password;    // 省略 get 和 set 方法}

通过@PropertySource 注解的value 来指定当前要读取的属性所在的配置文件,访问后同样可以得到配置信息。

点击关注,后期更多精彩内容呈上!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/504737.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言 算术平均滤波法_单片机数字滤波的算法

单片机主要作用是控制外围的器件,并实现一定的通信和数据处理。但在某些特定场合,不可避免地要用到数学运算,尽管单片机并不擅长实现算法和进行复杂的运算。下面主要是介绍如何用单片机实现数字滤波。在单片机进行数据采集时,会遇…

参数 携带 跳转_微信小程序:页面跳转及参数传递

本文首发自个人自有博客:【FaxMiao个人博客】,一个关注Web前端开发技术、关注用户体验、记录前端点滴,坚持更多原创,为大家提供高质量技术博文!前言小程序的跳转方法有很多种,有的人一直只用wx.navigateTo跳…

android fragment 管理器,Android Fragment 與 Fragment管理器

Android Fragment 與 Fragment管理器首先談談Fragement的需求過去開發人員認為界面之間的跳轉只需要使用多個activity組成就行了;例如下圖中,在Activity-A管理的界面中單擊按鈕后,Activity-A響應事件並啟動Activity-B;而用戶在單擊…

android 手机 报证书错误,Android设备中的SSL证书错误

了解网络科技近年来高速增长,对人们日常生活的影响可通过PC端和移动设备的使用增长数据可以推断。在数字化技术的今天,用户也希望能够在移动设备上保护网站的信息以及用户的数据。SSL证书是保护网站信息的安全协议,也是目前互联网站点必备的安…

手机调试_手机充值不好用?因为正在调试期

“嘀,余额不足,请充值”我们在乘坐公交车的时候,经常会遇到这种情况,上车才发现余额不足,下班又没时间去给公交卡充值,给生活带来了很大的不便,难道就没有更加方便快捷的方法吗?比如…

七参数 布尔萨 最小二乘法_最小二乘法和最大似然法的联系

目录最小二乘法概念最大似然法概念两者的联系总结一、最小二乘法概念最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际…

android 浮动按钮拖拽,小程序拖拽浮动按钮

小程序拖拽浮动按钮2019-5-22 分类: 小程序小程序 浮动 拖拽 按钮不借助movable-area自带的组件,实现拖拽效果wxmljs:var startPoint;Page({data: {buttonTop: 0,buttonLeft: 0,windowHeight: ,windowWidth: },onLoad: function (options) {var that…

android ui自动化框架选型,Appium UI 自动化框架之我见 (开源)

APP UI Automation Framework一个基于 Appium 1.8.1、TestNG,Page Object 模式开发的 UI 自动化测试框架介绍文档结构图基本功能每秒生成一次截图通过 xml 配置待执行的测试用例通过 yml 指定待执行测试的设备及 Appium 端口用例执行失败自动重试,且重试…

长虹android电视安装apk,长虹电视通过安卓手机安装沙发管家教程

‍本文教程适用于长虹电视LED39(48/50/55)C 2080i等相类似型号;【安装步骤简介】安卓手机安装沙发管家手机版--手机和智能电视/盒子用同一个路由器连接--沙发管家手机版推送安装【操作方法详情】1、使用您的安卓手机下载并安装沙发管家手机版:http://pub…

1使用技巧_新版PubMed使用技巧1

以下分享适合小白,高手请绕路。PubMed是许多医学生以及科研人员必备的检索系统,高效的利用PubMed可以节省很多时间。本文从以下几个方面简单讲解新版PubMed的使用技巧1:1、PubMed基本介绍;2、PubMed的高级检索。后期分享使用技巧2…

html复选框打钩行变颜色,Excel 单元格打勾会变颜色,开发工具的复选框这样玩...

Excel中的复选框除了打钩,打叉之外还有什么其他功能吗?其实,这里面的学问可多了,可造之物也非常之多。今天,我就利用复选框来教大家制作一个特别的表格,在复选框中打钩的后,单元格的颜色就会随着…

js怎么图表在html中显示不出来的,基于Echarts图表在div动态切换时不显示的解决方式...

简单粗暴,先上图,大概长这样:在使用vue时有遇到像上图下拉框change事件切换div,change切完后大概会变成这个样子:上代码:{{ option.text }}{{selected}}export default{name:"test",data(){retur…

【UML】第13篇 序列图(2/2)——建模的方法

目录 三、序列图建模 3.1 概述 3.2 建模的步骤 3.3 举例说明步骤 1.确定主要场景和流程 2.确定参与的对象 3.绘制序列图 4.注意事项 3.4 特殊的情况 序列图是我个人认为,UML中最重要的图之一。 而且序列图,对于业务建模,也有非常好…

如何创建计算机的桌面快捷方式,怎么设置桌面快捷方式,怎么创建快捷方式到桌面...

很多win7系统用户反映说遇到这样一个问题,就是电脑上从文件服务器创建的快捷方式就会自动被删除,自己重新创建之后,过几天重新启动win7系统的时候,那些快捷方式又会自动被删除不见了,怎么办呢,下面以win7 3…

福师计算机应用基础在线作业二及答,福师《计算机应用基础》在线作业二 下列软件中属于应用软件的是.docx...

福师《计算机应用基础》在线作业二 下列软件中属于应用软件的是.docx 计算机应用基础计算机应用基础1 1 单选题单选题1 下列软件中属于应用软件的是() D A 操作系统B 编译程序C 数据库管理系统D 财务管理系统2 以下域名中,表示商业网的是() C A eduB cnC comD org3 …

台式计算机没有usb3.0,新装的win7没有usb驱动完美解决方法(支持usb3.0/usb3.1)

最近有很多网友问,为什么我新装win7系统后usb驱动,相关的usb鼠标键盘都不能用了怎么办?大家都知道,win10系统虽然发布了几年,但是由于Win7的习惯留住了不少Win7忠实用户,因此Win7系统的使用用户还是比较多的…

typora用Pandoc导出html,Typora安装 Pandoc实现导出功能

Typora安装 Pandoc实现导出功能问题引入在使用Typora的时候,如果想要把写好的MarkDown文件导出到其他地方的话,是比较方便的。但是Typora本身只支持PDF和HTML两种方式的导出,如下图所示,如果想导出下面的方式他就会提示安装Pandoc…

联想笔记本关闭锁定计算机,联想笔记本Win10怎样显示/隐藏大小写锁定及数字锁定图标...

近来,很多联想Win10笔记本用户都在抱怨自己的电脑桌面总会显示大小写锁定和数字小键盘锁定图标,看着很不习惯。那么,我们要怎样设置图标隐藏呢?下面,小编就向大家分享联想笔记本Win10设置显示/隐藏大小写锁定及数字锁定…

mysql 主键长度_MySQL 数据库,主键为何不宜太长长长长长长长长?

回答星球水友提问:沈老师,我听网上说,MySQL数据表,在数据量比较大的情况下,主键不宜过长,是不是这样呢?这又是为什么呢?这个问题嘛,不能一概而论:(1)如果是In…

计算机有多少种开发语言,为什么现在会有这么多种编程语言?

21世纪,计算机的应用越来越多,为了适应各种使用场景,于是诞生了各种语言,不仅语言是多样的,每种语言下面都有不同的开发框架,框架也是多样的。有时候为了性能,可能会选择编译型语言,…