springBoot+Maven完全开发手册(项目入门搭建02-配置原理)

本文深入解析SpringBoot配置流程,从spring-boot-autoconfigure模块入手,详细介绍了如何通过XxxAutoConfiguration和XxxProperties类进行框架整合及参数配置。同时,演示了application.properties和application.yml两种配置文件的使用方法。

Spring Boot框架是一个将整合框架的整合代码都写好了的框架。我们只需要通过SpringBoot提供的属性就可以整合各种框架。所以,如果要很好地找到这些属性,就需要了解SpringBoot的配置流程。

配置原理说明:
在spring-boot-autoconfigure-1.5.6.RELEASE.jar中编写了所有第三方框架的整合代码。所有支持的框架根据功能类型来划分包,每个包都有一个XxxAutoConfiguration配置类,都是一个基于纯注解的配置类,它是各种框架整合的代码。如图所示:

在这里插入图片描述

如果这些框架有默认的配置参数,都放在一个命名为XxxProperties的属性类,如图所示:
在这里插入图片描述

如果要在项目中修改这些框架的默认配置,可以在src/main/resources目录下新建一个名为application.properties的文件。然后加入要修改的属性。例如:
在这里插入图片描述

配置流程总结:
第一步:先到spring-boot-autoconfigure-1.5.6.RELEASE.jar找到对应的模块;

第二步:如果该框架有可以配置的参数,那么对应的整合模块中一定有一个XxxProperties类,在里面可以找可以设置的参数;

第三步:在resources源目录下的application.properties文件里面可以修改XxxProperties类中默认的参数;

配置文件:
默认情况下,Spring Boot会加载resources目录下的application.properties或application.yml来获得配置的参数。

方式一:application.properties

配置数据源

前缀怎么看?
在这里插入图片描述

spring.datasource.driverClassName=com.mysql.jdbc.Driver

spring.datasource.url=jdbc:mysql://localhost:3306/springboot_db

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.type=com.mchange.v2.c3p0.ComboPooledDataSource

也可以把不同框架的参数配置在不同的application配置文件中,这样可以提高程序的可读性和可维护性。具体步骤如下:

1)在application.properties文件所在目录下增加多个application-xxx.properties配置文件,其中xxx是一个任意的字符串。

application-database.properties
 
application-jpa.properties
 
application-freemarker.properties

2)在application.properties文件中加载其他配置文件。

spring.profiles.active=database,jpa,freemarker

方式二:application.yml
YML文件格式是YAML(YAML Aint Markup Language)层级树键值对格式文件。其结构如下所示:

配置数据源

spring: 
  datasource: 
     url: jdbc:mysql://localhost:3306/maven_ssm_fenmokuai_easyui_day29zuoye 
     driverClassName: com.mysql.jdbc.Driver 
     username: root 
     password: root
     type: com.mchange.v2.c3p0.ComboPooledDataSource 
server: 
  port: 8089      #改服务器的端口号 
  context-path: /simpleproduct   #改服务器的上下文项目名()
     

其实application.yml配置文件就是将原来application.properties使用(.)分割的方式,改为树状结构,使用(:)分割。
开发中最好使用yml,因为不用写多个前缀

注意:最后key的字段与值之间的冒号(:)后面一定要有一个空格,而且yml的如果属性有值,在该值后边一定要加一个空格,如

 port: 8089 #8089后面有一个空格 

原文链接:https://blog.csdn.net/zhongliwen1981/article/details/82258712

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值