SpringBoot#自定义配置的封装
Posted luohaonan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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#自定义配置的封装的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段14——Vue的axios网络请求封装
全栈编程系列SpringBoot整合Shiro(含KickoutSessionControlFilter并发在线人数控制以及不生效问题配置启动异常No SecurityManager...)(代码片段