当前位置: 首页 > news >正文

第二章、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加载的时候更加灵活性的容纳这些功能;

http://www.jsqmd.com/news/740142/

相关文章:

  • 2026年5月六西格玛绿带黑带含金量排行|报考避坑榜Top5 - 众智商学院课程中心
  • Ubuntu Server 24.04下解决SunloginClient 向日葵依赖libgconf-2-4安装问题
  • SAP SD新手避坑:VA01创建销售订单报‘无定价过程’?手把手教你用OVKK搞定配置
  • 从Pikachu靶场看企业级Web安全:这些漏洞在真实业务中如何防御?
  • MAA明日方舟自动化助手完整指南:如何一键解放双手高效长草
  • 论文 AI 率从 78% 降到 3.2%!2026 排行前 3 降 AI 软件让你赶上答辩。 - 我要发一区
  • ESXi 7.0U3迁移实战:手把手教你用命令行把旧主机配置‘克隆’到新服务器
  • 告别串口助手!手把手教你用TC264打造一个“硬件版”参数配置器
  • 【读书笔记】《你就是孩子最好的玩具》
  • 2026年05月六西格玛黑带绿带推荐榜单:含金量排行与报考避坑指南 - 众智商学院课程中心
  • 保姆级教程:在Ubuntu 22.04上从源码编译安装Eclipse Paho C库,并手把手写一个MQTT同步客户端
  • OpenClown:为AI助手配备多维度专家评审团,提升输出质量与安全性
  • ROS2 C++开发系列04:如何有效输出机器人状态
  • 别再混着用了!搞懂nvidia-docker在WSL和物理Ubuntu下的不同‘脾气’,彻底解决GPU容器启动报错
  • UAGLNet:遥感图像建筑提取的多尺度特征融合技术
  • 保姆级教程:手把手教你用ONVIF协议,把乐橙WiFi摄像头稳定添加到海康威视DS-7104N录像机
  • 抖音批量下载终极方案:三步搞定无水印视频与音乐
  • Java图论实战:深入理解有向图与无向图的构建与应用
  • 从Transformer到GPT-4:手把手拆解LangChain如何‘驾驭’大模型做应用开发
  • 别只用来显示文字!蓝桥杯嵌入式LCD高亮、闪烁特效的三种实现方法
  • 跨区域团队如何借助Taotoken实现API密钥统一管理与审计
  • GeoServer发布WMS服务后,如何用QGIS和ArcGIS Pro进行专业级验证与样式调试?
  • 降 AI 软件单价多少合理?2026 排行 8 款从 3.2 到 8 元/千字横评! - 我要发一区
  • 从零到上板:用FPGA实现SPI主从机完整数据回环(Vivado ILA抓波形实战)
  • 2026 降 AI 软件排行别只看价格!这 5 大降 AI 误区毕业生踩了几个? - 我要发一区
  • 告别乱码!树莓派5与Windows电脑串口调试最全指南(含CH340驱动)
  • Agent Browser:统一管理MCP服务器,告别多客户端重复配置
  • 10分钟掌握物理知情神经网络:用PyTorch轻松求解偏微分方程
  • 别再只用交叉熵了!手把手教你用PyTorch实现Soft IoU Loss,搞定语义分割中的小目标难题
  • 别再傻傻分不清!STM32 HAL库的HAL_SPI_Receive和HAL_SPI_Receive_IT到底怎么选?(附实战避坑指南)