第二章、application.properties文件的配置
前面讲到了如何搭建一个简单的springboot应用,是不是特别简单。springboot内置了tomcat,这就大大减少了我们自己配置tomcat所产生的各种各样的配置手续包括所出现的问题。通过main方法,所有启动程序都在SpringApplication.run()这个方法里,有兴趣的童鞋可以看看其内部是如何配置数据源、启动tomcat以及注入类对象的。
现在,我们从它的配置文件application.properties开始。
springboot剔除了复杂的spring配置XML文件,所有的配置都写在此文件中。当然实际配置中还可以配置application-dev.properties和application-prod.properties测试和生成环境的配置,将application.properties作为基础公共的配置。
一、项目配置文件
1、springboot采用properties文件作为总配置文件,默认application.properties(application-dev.properties和application-prod.properties)
作为项目的启动配置,也就是说项目启动时会默认读取此配置文件的内容并加载某些配置</p>
2、springboot配置文件默认放在src/main/resource文件下,如果没有此文件springboot会采取默认配置;
推荐使用maven,springboot也是基于maven搭建的项目,其依赖包也十分全面;因此先建立好一个application.properties
二、默认配置
springboot中采取了很多默认的配置,在配置文件中需要使用默认配置名称,springboot加载时会自动读取;
一些常见的通用配置:
spring.profiles.active=prod;//激活当前环境配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource;//数据源,也就是产生数据源的jar包,这里使用druid数据源
spring.datasource.url=;//数据源,也就是MySQL或orcale连接路径
spring.datasource.username=;//数据库用户名
spring.datasource.password=;//数据库密码
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
server.port=11080;//访问端口号
server.session.timeout=1800;//session失效时间
server.error.path=/error;//错误页controller
三、自定义配置
1、当然也可以定义自定义属性,对于自定义属性配置,需要通过注解来加载</p>
com.name="111"
com.name1="222" @Value(value="${com.name}")
private String name;//既可以将name值赋予变量
2、除了在配置文件中配置,还可以在启动jar包时候改动如:java -jar xx.jar --server.port=9090
将端口号修改为9090;符号“--”后面的即为配置文件中的配置,在多环境中,可以通过此参数随时切换配置
<p>3、有时候我们需要引入外部的静态资源和配置文件,方便动静分离,可以如此配置:
web.upload-path=//home//web//oriflame_static//
spring.mvc.static-path-pattern=/**
spring.resources.static-locations=classpath:/METAINF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${web.upload-path}
配置把默认的三个静态资源路径也记上了,最后一个是引用服务器上绝对路径
@SpringBootApplication
@PropertySource(value="file:D:/test.properties",encoding="utf-8")
public class Applcation {public static void main(final String[] args) {SpringApplication.run(Applcation.class, args);}
}
即可以引导到d盘中的配置文件
四、springboot默认读取配置文件
springboot采用了默认读取配置文件的规则:
1、config/application.properties(项目根目录中config目录下)
2、config/application.yml
3、application.properties(项目根目录下)
4、application.yml
5、resources/config/application.properties(项目resources目录中config目录下)
6、resources/config/application.yml
7、resources/application.properties(项目的resources目录下),这也是我们一般存放配置文件的位置
8、resources/application.yml
五、配置的优先级:配置文件的相互覆盖
1、如果项目中有多个配置文件会存在优先级,优先级最高的属性文件会覆盖优先级较低的:
(1)、外置,在相对于应用程序运行目录的/congfig子目录里。
(2)、外置,在应用程序运行的目录里
(3)、内置,在config包内
(4)、内置,在Classpath根目录
(5)、如果同一个目录下,有application.yml也有application.properties,
默认先读取application.properties。
(6)、如果同一个配置属性,在多个配置文件都配置了,
默认使用第1个读取到的,后面读取的不覆盖前面读取到的。
(7)、创建SpringBoot项目时, 一般的配置文件放置在项目的resources目录下不要在多个配置文件配置相同属性,根据优先级,最高的文件会覆盖较低的文件中的相同属性
六、更多配置
可以自行搜索更多配置,包括模板、mybatis、redis等等, 通过设置配置,springboot加载的时候更加灵活性的容纳这些功能;
第二章、application.properties文件的配置相关推荐
- spring boot 使用application.properties 进行外部配置
2019独角兽企业重金招聘Python工程师标准>>> application.properties大家都不陌生,我们在开发的时候,经常使用它来配置一些可以手动修改而且不用编译的变量 ...
- java通过spring获取配置文件_springboot获取properties文件的配置内容(转载)
1.使用@Value注解读取 读取properties配置文件时,默认读取的是application.properties. application.properties: demo.name=Nam ...
- 【springboot】SpringBootTest 测试时, application.properties 文件的查找顺序
前言 springboot 2.0.0.RELEASE maven 3.5.0 application.properties 文件的查找顺序 ${project.basedir} ├─src │ ├─ ...
- 第二章 PX4-Pixhawk-RCS启动文件解析
第二章 PX4-RCS启动文件解析 RCS的启动类似于linux的shell文件,如果不知道shell文件是什么东西可以理解成是为程序的流程框,它是告诉处理器应该怎么样去运行,前一章介绍的是编译成固件 ...
- 第二章 PX4-RCS启动文件解析
版权声明:本文为博主原创文章,未经博主允许不得转载. 第二章 PX4-RCS启动文件解析 RCS的启动类似于linux的shell文件,如果不知道shell文件是什么东西可以理解成是为程序的流程框,它 ...
- 在Spring Boot里面,怎么获取定义在application.properties文件里的值
问题:在Spring Boot里面,怎么获取定义在application.properties文件里的值. 我想访问application.properties里面提供的值,像这样: logging. ...
- druid.properties文件的配置
# druid.properties文件的配置 driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://127.0.0.1:3306/plan u ...
- maven 打包数据库加密_SpringBoot项目application.yml文件数据库配置密码加密的方法...
在Spring boot开发中,需要在application.yml文件里配置数据库的连接信息,或者在启动时传入数据库密码,如果不加密,传明文,数据库就直接暴露了,相当于"裸奔"了 ...
- Spring Boot项目application.yml文件数据库配置密码加密
在Spring boot开发中,需要在application.yml文件里配置数据库的连接信息,或者在启动时传入数据库密码,如果不加密,传明文,数据库就直接暴露了,相当于"裸奔"了 ...
最新文章
- 21. 合并两个有序链表(C语言)
- VTK:可视化算法之TubesWithVaryingRadiusAndColors
- 用Python实现每秒处理120万次HTTP请求
- 修改Gradle本地仓库的位置 方法
- Java Swing Mysql实现的Ktv点歌系统项目源码附带视频运行教
- 程序竞赛中常用的C字符串函数
- Jenkins发布PHP代码
- 远控免杀从入门到实践
- Linux平台升级chrome浏览器后,再打开会提示:“您的个人资料来自新版 Google Chrome 浏览器,因此无法使用。某些功能可能无法使用。请指定其他个人资料目录,或使用新版本”
- 计算机的音标英语,英语国际音标
- 3D线激光成像数学模型简析与实现
- windows10如何修改pin码?
- grub.exe和grldr的区别和联系
- 修改const指针所指向的值
- 计算机中心云桌面建设方案,多媒体教室云桌面方案.docx
- 华硕z170a如何开启m2_华硕z170主板装win7教程及BIOS设置
- U盘为什么需要安全删除才能拔出呢?
- 近视手术?一个医学的阴谋?
- 京东2021秋招笔试题
- 幼儿园计算机课件制作评比表,幼儿园课件制作基本原则与评价标准_表格评价.doc...