• Spring Boot 的配置文件


    配置文件是一种计算机文件,可以为计算机程序配置参数和设定初始值。在Spring Boot项目中,resources文件就是配置文件:

    该目录下面的static目录里面主要存放静态文件,比如图片,css等。而templates目录下面主要用来存放模板文件。application.properties和application.yml则是项目的配置文件,整个项目中所有的数据都是在该配置文件中配置的,比如:数据库的连接信息、项目的启动端口、第三方系统的调用秘钥等信息、用于发现和定位问题的普通日志和异常日志等。

     

    配置文件的格式 

    配置文件主要有两种格式:properties、yml

    Spring Boot中配置文件的两个重要作用

    1.位系统框架提供数据支持

    2.为程序员自己去使用

     

    properties

    properties是创建Spring Boot项目默认的配置文件,properties是以键值对的形式配置的,key和value之间是以“=”连接的,比如:

    1. #配置项目的端口
    2. server.port=8080

     

    properties的缺点:对于一个参数的多个配置设置很麻烦,需要从开始一直写到结束,并且冗余信息很多。

    yml 

    yml是一个可读性高,易于理解,用来表达数据序列化的格式。yml是以key: value的形式组成,其中key和value之间使用英文冒号加空格的方式组成,并且空格一定不能省略。 

    1. #配置项目端口
    2. server:
    3. port: 8888

    yml的优点:

    可以跨语言、写法更加简洁可读性更高 、支持更多的数据类型

    和properties对比,yml使用就比较简洁:

     

     

    使用yml来配置对象

    1. student:
    2. id: 1
    3. name: Java
    4. age: 18

    或者写成行内写法

    student: {id: 1,name: Java,age: 18}

    使用yml来配置集合

    1. dbtypes:
    2. nema:
    3. - mysql
    4. - sqlserver
    5. - db2

    或者使用行内写法

    dbtypes: {name: [mysql,sqlserver,db2]}

     

    读取配置文件 

    在Spring Boot项目中读取配置文件

    方式一:使用@Value注解来实现,@Value主要用来读取单个配置项。

    语法结构:@Value("${key}") 

    例如读取properties文件中的配置信息:

    1. @SpringBootApplication
    2. public class Application implements InitializingBean {
    3. //读取配置文件中的url
    4. @Value("${spring.datasource.url}")
    5. private String url;
    6. //读取配置文件中的username
    7. @Value("${spring.datasource.username}")
    8. private String username;
    9. //读取配置文件中的password
    10. @Value("$(spring.datasource.password)")
    11. private String password;
    12. @Override
    13. public void afterPropertiesSet() throws Exception {
    14. System.out.println();
    15. System.out.println("url:"+url);
    16. System.out.println("username:"+username);
    17. System.out.println("password:"+password);
    18. System.out.println();
    19. }
    20. }

     

    方式二:使用@ConfigurationProperties("key")来读取多个配置信息

    第一步:将配置文件中的一组对象映射到某个类上

     

    在这一步中,两个注解@Component和@ConfigurationProperties非常重要,其中@Component可以替换为其他类注解,它的作用就是将当前类中的属性值替换为配置文件中的属性值。@ConfigurationProperties是用来读取配置文件的,它括号里面的prefix表示配置文件的前缀,prefix可加可不加 

    第二步:使用注入的方式在其他类中注入Student即可

    1. @SpringBootApplication
    2. public class Application implements InitializingBean {
    3. //使用属性注入的方式来获取到学生类中的学生信息
    4. @Autowired
    5. private Student student;
    6. @Override
    7. public void afterPropertiesSet() throws Exception {
    8. System.out.println();
    9. System.out.println("student:"+student);
    10. System.out.println();
    11. }
    12. }

     

    使用@ConfigurationProperties("key")来读取集合 

    第一步:将配置文件中的一组对象映射到某个类上 

     

    第二步:使用注入的方式在其他类中注入MyList即可 

    1. @SpringBootApplication
    2. public class Application implements InitializingBean {
    3. //使用属性注入的方式来获取到MyList集合中的信息
    4. @Autowired
    5. private MyList myList;
    6. @Override
    7. public void afterPropertiesSet() throws Exception {
    8. System.out.println();
    9. System.out.println("mylist:"+myList.getName());
    10. System.out.println();
    11. }
    12. }

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    电路设计篇【5】MOS管驱动电路设计,如何让MOS管快速开启和关闭?
    Rasa系列教程(二) -- Rasa NLU基础
    Java 泛型中的通配符
    元宇宙003 | 在虚拟现实中感受到的压力真实吗?
    【MapGIS精品教程】002:GDB本地数据库的使用
    windows ubuntu 子系统:肿瘤全外篇,2. fq 数据质控,比对。
    327.区间和的个数
    URL工具-URLUtil
    价值1000元的稀有二开版的无限坐席在线客服系统源码+教程
    如何在 Python 中实现遗传算法
  • 原文地址:https://blog.csdn.net/yahid/article/details/126905526