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 可以看到返回信息

对于属性值比较少的情况,我们使用@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";    }}

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

自定义属性文件

前边也说到了,默认读取的是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 来指定当前要读取的属性所在的配置文件,访问后同样可以得到配置信息。

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

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

  1. JAVA基础初探(十二)Map接口及其常用实现类(HashMap)、File类详解(概述、创建、删除、重命名、文件属性读取/设置、遍历文件夹)

    该篇博客目录 1.Map接口及其常用实现类(HashMap.Hashtable) 2.File类(概述.创建.删除.重命名.文件属性读取/设置.遍历文件夹) 一.Map接口及其常用实现类(HashMa ...

  2. 创建前缀一样的文件_Win10更快速创建或重命名仅扩展名文件

    IT之家2月26日消息 在Windows 10 19H1和20H1预览版本中,微软在文件资源管理器中添加了一项新功能,允许用户更快更方便地创建和重命名仅扩展名文件. Windows 10版本1903/ ...

  3. springboot读取json文件_SpringBoot:配置文件属性读取

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

  4. VS Code 配置调试参数、launch.json 配置文件属性、task.json 变量替换、自动保存并格式化、空格和制表符、函数调用关系、文件搜索和全局搜索、

    1. 生成配置参数 对于大多数的调试都需要在当前项目目录下创建一个 lanch.json 文件,位置是在当前项目目录下生成一个 .vscode 的隐藏文件夹,在里面放置一些配置内容,比如:settin ...

  5. pycharm python 模板配置_windows下pycharm安装、创建文件、配置默认模板

    本文为大家分享了windows下pycharm安装.创建文件.配置默认模板的具体步骤,供大家参考,具体内容如下 步骤: 下包 -->安装-->创建文件-->定制模板 一.下包 官方地 ...

  6. mybatis配置文件属性的详解和db.propertis文件的使用

    Mybatis核心配置文件SqlMapConfig.xml配置 核心配置文件中标签的顺序如下图所示: 1.properties(属性): 将核心配置文件的某些属性(连接池的四大基本属性),可以在外部的 ...

  7. idea如何配置或者创建mybatis的xml文件 idea如何配置或者创建mybatis的配置文件

    文章目录 问题 解决问题 打开设置面板 输入配置信息 创建mybatis的xml文件 问题 今天使用idea去创建userMapper.xml文件时,发现没有新建xml文件选项,如下图所示: 解决问题 ...

  8. 用neo4j导入protege创建的本体owl文件(以及前缀消除)

    用neo4j导入protege创建的本体owl文件(以及前缀消除) 前期工作 导入owl本体文件 前期工作 这是我用protege自己弄的一个简单的本体(展示一下) 1.下载扩展neosemantic ...

  9. Redis 中的 持久化 RDB持久化 SAVE:阻塞服务器并创建RDB文件 BGSAVE:以非阻塞方式创建RDB文件 通过配置选项自动创建RDB文件

    这里写目录标题 15.1 RDB持久化 15.1.1 SAVE:阻塞服务器并创建RDB文件 其他信息 15.1.2 BGSAVE:以非阻塞方式创建RDB文件 其他信息 15.1.3 通过配置选项自动创 ...

最新文章

  1. 解决GeoTools中CQL解析中文字段名的问题
  2. 机器学习(一)梯度下降算法
  3. Spring JMS,消息自动转换,JMS模板
  4. 扎心!全国6.5亿网民月收入不足5000元
  5. 【转载】Linux安装nginx
  6. 来自Google的面试题,真的有趣!果然与众不同
  7. hdu1312---------------DFS模板(调用STL)
  8. 聊聊 Material Design 里,阴影的那些事儿!
  9. jd反编译java_java反编译工具jd
  10. 微信驾校服务平台功能开发
  11. 求两个数最大公因数的c语言程序
  12. 完美卸载office
  13. WSTMart 视频教程,WSTMart 开发文档
  14. eclipse简单导入xtend项目
  15. Tomcat 何时解压war包
  16. 防疫与复工同行,长沙望城进入“双统筹”的关键时刻
  17. 传输媒体、表示媒体、感觉媒体、表现媒体的区别
  18. 2022双十一买什么好?行家推荐四大最值得入手的数码好物
  19. 人工智能和python毕业设计题目_Python与人工智能-中国大学mooc-题库零氪
  20. 《演说之禅》I amp; II 读书笔记

热门文章

  1. php task todolist,Todolist--(4)登录
  2. win8 oracle10g,win7/win8 下安装oracle10g的方法
  3. python函数type的用意_python中type()是什么意思
  4. matplotlib调节colorbar的大小
  5. OpenCV学习笔记(一):Win10(x64)+Qt5.8(MSVC2013)+OpenCV3.1.0配置过程
  6. Django中间件与python日志模块 介绍
  7. 数字图像处理 第二章 图像处理基础
  8. tensorflow实现反卷积
  9. mousemove事件java,three.js,补间相机和mousemove事件
  10. 令牌桶 限速_Go 限流器实战系列(2) Token Bucket 令牌桶