SpringBoot学习笔记(三)——Springboot配置文件
SpringBoot不像之前用spring+springMVC做项目的时候,他不需要配置大量的看上去很乱很复杂的xml配置文件。在SpringBoot中你可以通过java代码和注解配置项目,也可以通过简单的几个配置文件来配置项目。
这篇学习笔记只记录下配置文件的使用,至于用java代码配置的内容下次再写。
SpringBoot配置文件
spring的配置文件有两种格式:
1、application.properties
2、application.yml
这两种文件可以选择一种来当作你项目的配置文件,但是官方推荐使用yml来配置,因为他的语法看起来更简洁和清晰,接下来我也会使用这个格式来做例子。
SpringBoot这两种配置文件写法的不同
这两种配置文件本质上是一样的,只是语法(表现形式)不同,用两个很简单的例子就可以看出".properties"格式和".yml"这两种配置文件语法的不同。
1、配置服务的端口号
application.properties文件这样写
server.port=9014
application.yml文件这样写
server: port: 8889
2、配置数据库驱动类型
application.properties文件这样写
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
application.yml文件这样写(当然这里直接配置了数据库连接池使用的是druid)
spring:
datasource:
druid:
driver-class-name: com.mysql.jdbc.Driver
上面的例子可以轻易的看出来他们的区别,yml格式的一般就是把properties的点,换成了下一行加“空格”。
所有一般会一种另一种也就会了,这里推荐使用yml格式的(看着很清爽有没有,没有啥重复的多余的代码,而且层级关系显示的很明显)。
SpringBoot配置文件application.yml格式注意点
这个格式其实没有多少语法,一般用几次,看几个例子也就会用了,但是要配置复杂的还是要研究下的。
这是我整理了几个注意点:
1、用键: 值的方式表现属性和配置的。(这里注意,“:”符号有后面一定要跟一个空格)
2、使用“缩进”的方式表现层级关系。缩进了几个空格没事,但是同一层级的右边要对其。就像下面的。
3、大小写敏感。
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
driver-class-name: com.mysql.jdbc.Driver
username: root
password: 1111111
更多详细yml语法我找到个大神的文章,给个传送门:(传送门)
官方的参考:(http://www.yaml.org)
SpringBoot配置文件的加载
springboot的配置文件的加载是有优先级和顺序的,springboot启动的时候会默认加载一些位置的配置文件。了解一下看别人项目的时候就可以轻易的找到配置文件啦。
一、加载顺序
SpringBoot启动的时候会扫描加载下面几个位置的application.properties/application.yml文件:
1、./config——根目录(项目目录)下的一个config文件夹
2、./——根目录下面
3、classpath:/config——classpath路径下的config文件夹。这个classpath路径这里一般指的是src/main/resources/config,最好不要跟代码放一块。
4、classpath/——这个就是classpath路径了,一般就是src/main/resources。
二、加载配置的优先级
1、上面加载配置是由大到小的优先级。
2、同一目录下的文件:.properties > .yml。(还是properties优先级高点,但我还是用yml)
3、先加载的配置就会应用哪个配置,不会被后加载的覆盖。
参考大佬:(传送门)
一些常用的配置例子
更新中。。。。。。。。。。。
服务配置
server:
#配置端口号
port: 8174
#配置tomcat
tomcat:
#配置tomcat的URI编码
uri-encoding: UTF-8
# tomcat的最大线程数,默认值为200
max-threads: 100
数据库配置
#spring相关配置
spring:
#配置数据源
datasource:
name: ds
#配置alibaba的Drui数据库连接池,也可以换成别的,但是要别的依赖
type: com.alibaba.druid.pool.DruidDataSource
#配置数据库驱动
driver-class-name: com.mysql.cj.jdbc.Driver
#druid配置
druid:
#数据库基本属性
url: jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 123456
#初始化的时候建立的连接数,默认为0
initial-size: 1
#最大链接数量
max-active: 8
#最小连接池数量
min-idle: 1
#获取连接等待超时时间
max-wait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
# 配置一个连接在池中最大生存的时间,单位是毫秒
maxEvictableIdleTimeMillis: 900000
# 检测配置是不是链接有效
validationQuery: SELECT 1 FROM DUAL
thymeleaf配置
spring:
#配置Thymeleaf模板
thymeleaf:
#模板模式
mode: HTML
#启用模板缓存,一般开发环境会把值设置为false,正式环境设置为true
cache: false
#模板的编码
encoding: UTF-8
#增加视图解析时候的前缀和后缀名,比如返回一个index,就自动组成:classpath:/templates/index.html
prefix: classpath:/templates/
suffix: .html
分页插件PageHelper配置
#配置分页插件pagehelper pagehelper: #配置使用的数据库方言 helper-dialect: mysql reasonable: true support-methods-arguments: true params: count=countSql retrunPageInfo: check
配置mybatis
#配置mybatis mybatis: #配置扫描xxxMapper.xml配置文件的目录 mapper-locations: classpath:/mapper/*.xml #配置扫描指定的包中的类配置别名。 type-aliases-package: com.*.domain #加载其他的mybatis配置文件 config-location: classpath:mybatis/mybatis-config.xml
如果有哪里写的有问题,欢迎指出来,有啥大神的相关文章欢迎在评论区贴出(传送门)哦。
下面会写一些SpringBoot的java配置笔记。
SpringBoot学习笔记(三)——Springboot配置文件的更多相关文章
- SpringBoot学习笔记:读取配置文件
SpringBoot学习笔记:读取配置文件 配置文件 在以往的项目中,我们主要通过XML文件进行框架配置,业务的相关配置会放在属性文件中,然后通过一个属性读取的工具类来读取配置信息.在SpringBo ...
- SpringBoot学习笔记(6)----SpringBoot中使用Servlet,Filter,Listener的三种方式
在一般的运用开发中Controller已经大部分都能够实现了,但是也不排除需要自己实现Servlet,Filter,Listener的方式,SpringBoot提供了三种实现方式. 1. 使用Bean ...
- springboot学习笔记-6 springboot整合RabbitMQ
一 RabbitMQ的介绍 RabbitMQ是消息中间件的一种,消息中间件即分布式系统中完成消息的发送和接收的基础软件.这些软件有很多,包括ActiveMQ(apache公司的),RocketMQ(阿 ...
- springboot学习笔记:3.配置文件使用概要
Spring Boot允许外化(externalize)你的配置,这样你能够在不同的环境下使用相同的代码. 你可以使用properties文件,YAML文件,环境变量和命令行参数来外化配置.使用@Va ...
- SpringBoot学习笔记三之表述层
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6803355920697917965/ 首先配置learn-admin-webui中的web.xml文件 配置Con ...
- SpringBoot学习笔记(5)----SpringBoot中异常处理的三种方法
对于异常的处理,Spring Boot中提供默认的一个异常处理界面,如下图: 但是在实际的运用开发中,这样的页面显然是不友好的,Spring Boot也提供了自定义异常处理的方式,如下总结三种一场处理 ...
- SpringBoot学习笔记(6) SpringBoot数据缓存Cache [Guava和Redis实现]
https://blog.csdn.net/a67474506/article/details/52608855 Spring定义了org.springframework.cache.CacheMan ...
- SpringBoot学习笔记(10)-----SpringBoot中使用Redis/Mongodb和缓存Ehcache缓存和redis缓存
1. 使用Redis 在使用redis之前,首先要保证安装或有redis的服务器,接下就是引入redis依赖. pom.xml文件如下 <dependency> <groupId&g ...
- SpringBoot学习笔记(9)----SpringBoot中使用关系型数据库以及事务处理
在实际的运用开发中,跟数据库之间的交互是必不可少的,SpringBoot也提供了两种跟数据库交互的方式. 1. 使用JdbcTemplate 在SpringBoot中提供了JdbcTemplate模板 ...
- springboot学习笔记-5 springboot整合shiro
shiro是一个权限框架,具体的使用可以查看其官网 http://shiro.apache.org/ 它提供了很方便的权限认证和登录的功能. 而springboot作为一个开源框架,必然提供了和sh ...
随机推荐
- zabbix4.2安装配置指南
[声名]本实例中采用Linux CentOS 7系统 CentOS Linux release 7.6.1810 (Core) 1.安装LAMP环境: [root@localhost /]# yum ...
- 转载:HRTF virtaul surround
https://blog.csdn.net/Filwl_/article/details/50503558 https://blog.csdn.net/lwsas1/article/details/5 ...
- java基础(六)之继承初探
什么是继承? 一个类得到了另一个类当中的成员变量和成员方法.java只支持单继承.一个子类只允许继承一个父类,一个父类可以被多个子类继承. 比如下面的一个例子, 先创建一个Person类 class ...
- instGroup/constraint/Gcell/busguide/netgroup/Bump
1. instGroup Instance group.中文名例化单元组.Instance group可以用来group一些instances, 在做placement时,如果你希望一些instanc ...
- android .9背景图作为TextView背景时文字无法居中问题
问题产生原因: .9图黑色边框绘制伸缩区域有问题,重叠的最大区域是TextView文字所能显示的区域 如下图所示,横向和纵向最大重叠部分就是文字可显示部分,这个图作为背景后文字整体偏下,无法上下居中对 ...
- Text Infilling解读
多头自注意力token解码器,该解码器能够对过去和未来的信息进行condition处理,适合填充任务:自注意力机制尤其适合填充文本,因为它可以为每个空白处从左到右及从右到左双向建模,为全部语义进行有效 ...
- OBS_Classic经典版框架
一,简介 OBS(open boardcast server),是一个用于直播的开源软件. 官方网站:https://obsproject.com/ 代码托管地址:https://github.com ...
- Django - 后台admin不显示带auto_now, auto_now_add选项的字段
https://stackoverflow.com/questions/6386172/datetimefield-doesnt-show-in-admin-system 解决办法 class Rat ...
- angular2 单元测试 路由相关
第一步:在html模板中,写路由链接,并保证有路由出口 第二步:写自定义的路由指令和路由出口组件,因为在单元测试中不需要引入真实的路由,此处我们用虚拟的代替即可. 第三步:将自定义的虚拟路由指令和路由 ...
- 一周搞定模拟电路P3_电容_记录
1 电容的介绍 什么是电容 它有两个电极板,和中间板所夹的介质封装而成,具有特定功能的电子器件. 电容的作用 旁路.去耦.滤波和储能的作用 2 旁路电容的作用 1)使输入电压均匀化,减少噪声对后级的影 ...