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读取json文件_SpringBoot:配置文件属性读取相关推荐

  1. netcore读取json文件_.net core读取json格式的配置文件

    在.Net Framework中,配置文件一般采用的是XML格式的,.NET Framework提供了专门的ConfigurationManager来读取配置文件的内容,.net core中推荐使用j ...

  2. 《机器学习与数据科学(基于R的统计学习方法)》——2.8 读取JSON文件

    本节书摘来异步社区<机器学习与数据科学(基于R的统计学习方法)>一书中的第2章,第2.8节,作者:[美]Daniel D. Gutierrez(古铁雷斯),更多章节内容可以访问云栖社区&q ...

  3. Springboot 读取JSON文件

    1.使用类加载器读取json文件 @ApiOperation(value = "获取省市区接口", notes = "获取省市区接口")@PostMapping ...

  4. python读取json文件,大批量写入mongo

    1.需求:现在要求将服务器上523GB的json文件,导入到mongo库中,由于mongoimport 速度在25MB/s, 现在用脚本多进程将数据读取,在写入mongo中. 2.源码: # -*- ...

  5. Java 读取 JSON 文件转成 Map 对象

    Java 读取 JSON 文件转成 Map 对象 应用场景 待读取的外部 JSON 文件 Java 代码 读取结果 Gson 应用场景 Jar 包或 War 包引用一个外部文件作为项目运行的配置文件 ...

  6. R读取json文件并转化为dataframe

    R读取json文件并转化为dataframe 目录 R读取json文件并转化为dataframe R读取json文件 把json转为dataframe

  7. cocos2d-x之读取json文件

    cocos2d-x之读取json文件 在resource文件夹下,添加data.json文件 新建->Other->empty->open 就新建一个json文件了, data.js ...

  8. python读取json配置文件_Python简单读取json文件功能示例

    本文实例讲述了Python简单读取json文件功能.分享给大家供大家参考,具体如下: read_json.json: { "rule":{ "namespace" ...

  9. java spark 读取json_apache-spark - 与aws-java-sdk链接时,在读取json文件时发生Spark崩溃 - 堆栈内存溢出...

    让config.json成为一个小的json文件: { "toto": 1 } 我做了一个简单的代码,用sc.textFile读取json文件(因为文件可以在S3,本地或HDFS上 ...

最新文章

  1. 4个可以写进简历的京东 NLP 项目实战
  2. Freemarker静态化ActiveMQ实现
  3. CODEVS-1074-食物链-并查集
  4. CG CTF PWN When did you born?
  5. jpa原生query_JPA执行原生SQL语句
  6. Mybatis高级-resultMap之collection聚集
  7. Windows Sockets 错误码及出错原因
  8. QingStor分布式存储全线升级:自研需要勇气,成功还要看实力
  9. R语言分类算法之朴素贝叶斯分类(Naive Bayesian Classification)
  10. 安卓系统dicom阅读器_文石BOOX发布新品poke2 color 全球首款开放系统彩色电纸书
  11. 计算机自带游戏关闭,win10系统自带小游戏关闭的办法
  12. SSL认证之相关证书的生成
  13. 再见丑陋的 SwaggerUI,这款开源的API文档生成神器界面更炫酷,逼格更高
  14. 微软面试题 博弈论 经典案例 (参考答案)
  15. Android Studio升级到3.5之后xml格式化问题
  16. Tiny4412 LCD驱动(DRM+设备树)
  17. cannot import name ‘DistanceMetric‘ from ‘sklearn.metrics‘
  18. 1.23山师训练赛补题
  19. strcmpi,stricmp函数
  20. C++学习(四八二)zlib的inflate

热门文章

  1. arcgis导出shp文件_地理工具学习--arcgis篇(15):CAD和SHP的简单转换
  2. java分布式api网管关,分布式04-Spring Cloud Zuul Api网关 一
  3. 《机器学习实战》第十三章 PCA
  4. Django框架(12.Django中模型类高阶查询(Q对象以及F对象 和聚合函数查询))
  5. Python可视化中Matplotlib绘图(2.设置范围、标签、标题、图例(详细参数))
  6. OpenCASCADE:OCCT应用框架OCAF之TObj模型对象
  7. OpenCASCADE:拓扑 API之对象修改
  8. boost::test模块装饰器数据测试用例测试
  9. boost::math::statistics相关用法的测试程序
  10. boost::hana::length用法的测试程序