_震惊,开局

不可避免的需要弄一些自定义的配置。


要点:


1. 把配置项都写出来,分析层次关系;
2. 抽象成bean与bean之间的关系,写出bean对应的类,这时候配置项对应了bean的属性,属性可以又默认值
3. 在顶层的bean加上相关注解,即@Configuration,@ConfigurationProperties(prefix = "my-project")
4. 项目中使用配置项目,只需要注入配置类即可。


demo:


//////////////////////////////////////////////////////////
//1.写出所有配置项//////////////////////////////////////
//////////////////////////////////////////////////////////
my-project.name=hello
my-project.url=http://localhost
my-project.db.username=root
my-project.db.password=root
my-project.db.url=jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8 //////////////////////////////////////////////////////////
//2.抽象成bean与bean的关系////////////////////////////
//////////////////////////////////////////////////////////
public class ProjectConfig {
private String name = "project-default-name";
private String url = "project-default-url";
private DbConfig db; // getter & setter
} public class DbConfig {
private String username="db_default_user";
private String password="db_default_pwd";
private String url="jdbc:mysql://localhost:3306/default?serverTimezone=GMT%2B8"; // getter & setter
} //////////////////////////////////////////////////////////
//3.加上注解/////////////////////////////////////////////
//////////////////////////////////////////////////////////
@Configuration
@ConfigurationProperties(prefix = "my-project")
public class ProjectConfig {
private String name = "project-default-name";
private String url = "project-default-url";
private DbConfig db;
// getter & setter
}

  


最后,但是同样重要的:

有时候配置项的值是多个值,通过逗号分隔,如何处理?

SpringBoot#自定义配置的封装的更多相关文章

  1. Java之SpringBoot自定义配置与整合Druid

    Java之SpringBoot自定义配置与整合Druid SpringBoot配置文件 优先级 前面SpringBoot基础有提到,关于SpringBoot配置文件可以是properties或者是ya ...

  2. SpringBoot自定义配置以及IDEA配置提示

    本篇文章将会讲解在springboot项目中如何实现自定义配置以及在IDEA或者Eclipse中实现配置项提示,就像spring的配置提示一样 想要做到这点其实非常简单 1.添加依赖 <depe ...

  3. SpringBoot 自定义配置

    有时候需要自己定义一些配置,比如SpringBoot没有提供Druid连接池的配置,需要我们自己写配置. 以在springboot中使用Druid为例. 依赖 <dependency> & ...

  4. springboot自定义配置信息读取

    在properties配置文件加入自定义配置例如: zxgl.detail.url=http://*****/zxgl-web/news/viewNewsIndexDetail.do?id= #资讯t ...

  5. SpringBoot自定义配置步骤

    1. 在yml中填写自定义配置 ly: sms: accessKeyId: # 短信配置 accessKeySecret: signName: xx商城 # 签名名称 verifyCodeTempla ...

  6. 微服务之springboot 自定义配置(一)Application配置文件

    配置的文件的格式 springboot可以识别两种格式的配置文件,分别是yml和properties 文件.我们可以将application.properties文件换成application.yml ...

  7. springboot自定义配置源

    概述 我们知道,在Spring boot中可以通过xml或者@ImportResource 来引入自己的配置文件,但是这里有个限制,必须是本地,而且格式只能是 properties(或者 yaml). ...

  8. SpringBoot入门(五)——自定义配置

    本文来自网易云社区 大部分比萨店也提供某种形式的自动配置.你可以点荤比萨.素比萨.香辣意大利比萨,或者是自动配置比萨中的极品--至尊比萨.在下单时,你并没有指定具体的辅料,你所点的比萨种类决定了所用的 ...

  9. Springboot之自定义配置

    SpringBoot自定义配置 springboot在这里就不过多介绍了,大家都应该了解springboot零配置文件,所以配置信息都装配在属性文件(properties.yml.yaml)中,有时我 ...

随机推荐

  1. JAVA项目开发之文档篇

    转自链接:https://blog.csdn.net/Zonzereal/article/details/76704455

  2. selenium抓取淘宝数据报错:warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless

    ssh://root@192.168.33.12:22/root/anaconda3/bin/python3 -u /www/python3/maoyantop100/meishi_selenium. ...

  3. linux的ls -al指令

    ls是“list”的意思,参数-al则表示列出所有的文件,包括隐藏文件,就是文件前面第一个字符为.的文件.   1.第一列便是这个文件的属性: #第一个属性表示这个文件时“目录.文件或链接文件等”: ...

  4. mybatis查询时间段

    参考:https://bbs.csdn.net/topics/391838987 <!-- 查询条件:创建开始时间 --> <if test="createdBeginti ...

  5. 8核AMD Zen加持:微软Surface这回血拼

    微软定于10月2日在纽约举办Surface新品发布会,几乎全线消费级产品都将更新,比如15英寸Surface Laptop 3. 最新爆料称,15寸Surface Laptop 3预计一口气推出6款型 ...

  6. 十五、web中处理乱码问题总结

    一.jsp变成之道---中文乱码 jsp在转换为Servlet的过程经过三次编码转化: 转自  http://www.cnblogs.com/chenssy/p/4235191.html 二.java ...

  7. MAC 安装 pygraphviz 找不到头文件

    networkx的有向图只能通过箭头来区别两点之间的两条边,但是我在复现snake论文的时候,需要绘制两个交叉口之间的两条不同方向的路段,最后选择了pygraphviz 直接通过anaconda打开对 ...

  8. MariaDB——备份与恢复

    备份和恢复 为什么要备份?   灾难恢复:硬件故障.软件故障.自然灾害.黑客攻击.误操作   测试   要注意的点:   备份需要多少时间   能够容忍多少的数据丢失   恢复数据需要在多长时间完成  ...

  9. C# 篇基础知识10——多线程

    1.线程的概念 单核CPU的计算机中,一个时刻只能执行一条指令,操作系统以“时间片轮转”的方式实现多个程序“同时”运行.操作系统以进程(Process)的方式运行应用程序,进程不但包括应用程序的指令流 ...

  10. memcached 和 redis 性能测试比对

    网上很多关于memcached 和 redis 区别的介绍,大部分都是说redis比memcached支持的数据类型多的话题,而性能比对确很少,我专门针对两者进行了性能测试比对. 测试内容如下: 两者 ...