SpringBoot#自定义配置的封装
_震惊,开局
不可避免的需要弄一些自定义的配置。
要点:
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#自定义配置的封装的更多相关文章
- Java之SpringBoot自定义配置与整合Druid
Java之SpringBoot自定义配置与整合Druid SpringBoot配置文件 优先级 前面SpringBoot基础有提到,关于SpringBoot配置文件可以是properties或者是ya ...
- SpringBoot自定义配置以及IDEA配置提示
本篇文章将会讲解在springboot项目中如何实现自定义配置以及在IDEA或者Eclipse中实现配置项提示,就像spring的配置提示一样 想要做到这点其实非常简单 1.添加依赖 <depe ...
- SpringBoot 自定义配置
有时候需要自己定义一些配置,比如SpringBoot没有提供Druid连接池的配置,需要我们自己写配置. 以在springboot中使用Druid为例. 依赖 <dependency> & ...
- springboot自定义配置信息读取
在properties配置文件加入自定义配置例如: zxgl.detail.url=http://*****/zxgl-web/news/viewNewsIndexDetail.do?id= #资讯t ...
- SpringBoot自定义配置步骤
1. 在yml中填写自定义配置 ly: sms: accessKeyId: # 短信配置 accessKeySecret: signName: xx商城 # 签名名称 verifyCodeTempla ...
- 微服务之springboot 自定义配置(一)Application配置文件
配置的文件的格式 springboot可以识别两种格式的配置文件,分别是yml和properties 文件.我们可以将application.properties文件换成application.yml ...
- springboot自定义配置源
概述 我们知道,在Spring boot中可以通过xml或者@ImportResource 来引入自己的配置文件,但是这里有个限制,必须是本地,而且格式只能是 properties(或者 yaml). ...
- SpringBoot入门(五)——自定义配置
本文来自网易云社区 大部分比萨店也提供某种形式的自动配置.你可以点荤比萨.素比萨.香辣意大利比萨,或者是自动配置比萨中的极品--至尊比萨.在下单时,你并没有指定具体的辅料,你所点的比萨种类决定了所用的 ...
- Springboot之自定义配置
SpringBoot自定义配置 springboot在这里就不过多介绍了,大家都应该了解springboot零配置文件,所以配置信息都装配在属性文件(properties.yml.yaml)中,有时我 ...
随机推荐
- 笔记||Pyhthon3进阶之多线程操作共享数据
# 多线程操作共享数据--------------------------------------------------------------- # import threading# 使用锁# ...
- Sublime设置html头部
1.Ctrl + N,新建一个文档:2.Ctrl + Shift + P,打开命令模式,再输入 sshtml 进行模糊匹配,将语法切换到html模式:3.输入 !,再按下 Tab键或者 Ctrl + ...
- 十五 链表与递归,leetCode203题
两种方式: package com.lt.datastructure.LinkedList; /** * leetCode 203题 * /** * Definition for singly-lin ...
- 5G风口之下,NFV为何发展迅速
导读 5G高带宽.低时延.大容量的接入方式,注定它一定要依赖于跟以往完全不同的专业设备模式来实现,因此也创造了更多的方向和机会.NFV就是其中之一. 5G最大的变化在网络层面,需要底层网络架构形成一种 ...
- 启动nginx出错:open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory)
[emerg] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory) 解决:mkdir / ...
- Metasploit学习笔记——强大的Meterpreter
1. Meterpreter命令详解 1.1基本命令 使用Adobe阅读器渗透攻击实战案例打开的Meterpreter会话实验,靶机是WinXP.由于所有命令与书中显示一致,截图将书中命令记录下来. ...
- SpringMVC controller中业务方法的参数、返回值
业务方法的参数 业务方法的参数类型.参数个数是任意的,根据需要使用. 常见的参数类型: HttpServletRequest.HttpServletResponse.HttpSession 获取 ...
- JavaScript 空白符(分隔符)
分隔符(空白符)就是各种不可见字符的集合,如空格(\u0020).水平制表符(\u0009).垂直制表符(\u000B).换页符(\u000C).不中断空白(\u00A0).字节序标记(\uFEFF) ...
- NO27 定时任务
linux定时任务的设置 为当前用户创建cron服务 1. 键入 crontab -e 编辑crontab服务文件 例如 文件内容如下: */2 * * * * /bin/sh /home/a ...
- JAVA 发送各种邮箱邮件 javamail
QQ邮箱 /** * 单条发送 * @param mail 邮件对象,包含发送人.邮件主题.邮件内容 * @param recipients 收件人 * @throws AddressExceptio ...