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

SpringBoot依赖原理分析及配置文件

在这里插入图片描述
在这里插入图片描述

💟💟前言

友友们大家好,我是你们的小王同学😗😗
今天给大家打来的是 SpringBoot依赖原理分析及配置文件
希望能给大家带来有用的知识
觉得小王写的不错的话麻烦动动小手 点赞👍 收藏⭐ 评论📄
小王的主页:小王同学🚗
小王的gitee:小王同学🏩🏩
小王的github:小王同学💦

  • spring-boot-starter-parent中定义了各种技术的版本信息,组合了一套最优顶配的技术版本
  • 在各种starter中定义了该功能需要的坐标合集,其中大部分版本信息来自父工程
  • 我们的工程继承parent,引入starter后,通过依赖传递,就可以简单获得需要的jar包,并且不会存在版本冲突等问题

配置文件分类

springboot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.yml
application.yaml)进行配置

  • properties

server.port = 8080

这里的8080指的是tomcat默认启动的端口号

  • yml

server :
port : 8080

注意这里8080的前面必须加空格 否则会产生语法错误!!

打开idea 点击application.properties

在这里插入图片描述
运行application 在浏览器输入8082/Hello 即可运行
在这里插入图片描述

我们也可以创建一个application.yml文件里面更改端口号
如下:

在这里插入图片描述

在这里插入图片描述

成功!!
SpringBoot提供了2种配置文件

注意:如果在一个springboot项目里有三个配置端口的文件
优先级最高的一定是application.properties

  • SpringBoot提供了两种配置文件:properteis 和 yml / yaml
  • 默认配置文件名称:application
  • 在同一级目录下优先级为 properties > yml > yaml

yaml`

  • YAML的意思是:“Yet Another Markup Language”(仍是一种置标语言)的缩写
  • YAML是专门用来写配置文件的语言,非常简洁和强大,远比JSON格式方便
  • 可以用之作为你自动化测试框架的配置文件或者用例文件

如下图所述示

在这里插入图片描述

properties 和 yml 都是 Spring Boot 支持的两种配置文件,其中 yml 格式的配置文件可以看作是对 properties 配置文件的升级。它们的主要区别有 4 点:定义和定位不同、语法不同:yml 的语法更简单,且可读性更高、yml 可以更好的配置多种数据类型,比如对象和集合、yml 可以跨语言使用通用性更好

properties文件是最早期的配置文件,也是创建SpringBoot项目默认的文件

properties的基本语法

properties是以键值的形式配置的 key 和 value是以 " = " 来连接的~~


server.port=3000
mytest1:??
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=
utf8
spring.datasource.username=root
spring.datasource.password=root

小tips:配置文件用#来注释!

YML 的优点

  • yml 是⼀个可读性⾼,写法简单、易于理解,它的语法和 JSON 语⾔类似。
  • yml ⽀持更多的数据类型,它可以简单表达清单(数组)、散列表,标量等数据形态。它使⽤空⽩符号缩进和⼤量依赖外观的特⾊,特别适合⽤来表达或编辑数据结构、各种配置⽂件等。
  • yml ⽀持更多的编程语⾔,它不⽌是 Java 中可以使⽤在 Golang、PHP、Python、Ruby、
    JavaScript、Perl 中。
  • yml 是树形结构的配置⽂件,它的基础语法是“key: value”,注意 key 和 value 之间使⽤英⽂冒汗加空格的⽅式组成的,其中的空格不可省略。

在这里插入图片描述

使用yml连接数据库

spring:datasource:url: jdbc:mysql://127.0.0.0:3306/dbname?characterEncoding=utf8username: rootpassword: root

YML配置对象

创建一个学生类

package com.example.demo;import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;@Component
@ConfigurationProperties("student")
@Data
public class Student {private int id;private String name;@Overridepublic String toString() {return "Student{" +"id=" + id +", name='" + name + '\'' +", age=" + age +'}';}private int age;}

定义settergetter 以及toString方法 这里可以 导入lombok

在maven里导入lombok

<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.26</version><scope>provided</scope>
</dependency>

这个时候不能用 @value来读取对象 要用 @ConfigurationProperties来读取!!

调用类的实现方法

@Component
public class ReadYml2 {@Autowiredprivate StudentComponent studentComponent;@PostConstructpublic void postConstruct() {System.out.println(studentComponent);}
}

以上程序的结果如下图所示:

在这里插入图片描述

当然yml 里面也可以这样写~

#student:
#  id: 1
#  name: 小王
#  age: 18student: {id: 1,name: 张三,age: 18 }

在这里插入图片描述
效果也是一样的~~
这就是王同学给大家带来的SpringBoot文件配置
码字不易 还望大家三连支持一下!!

http://www.lryc.cn/news/7400.html

相关文章:

  • 智慧机场,或将成为航空领域数字孪生技术得完美应用
  • SQL64 对顾客ID和日期排序
  • MybatisPlus使用聚合函数
  • 工程管理系统源码企业工程管理系统简介
  • 《计算机视觉和图像处理简介 - 中英双语版》:使用 OpenCV对图像进行空间滤波
  • FreeRTOS软件定时器 | FreeRTOS十三
  • 电脑文件被误删?360文件恢复工具,免费的文件恢复软件
  • pg_cron优化案例--terminate pg_cron launcher可自动拉起
  • Python 之 NumPy 随机函数和常用函数
  • 【目标检测】K-means和K-means++计算anchors结果比较(附完整代码,全网最详细的手把手教程)
  • Java高手速成 | 图说重定向与转发
  • Git:不小心在主分支master上进行修改,怎么才能将修改的数据保存到正确的分支中
  • 都2023年了,如果不会Stream流、函数式编程?你确定能看懂公司代码?
  • 亚马逊云科技汽车行业解决方案
  • 为什么学了模数电还是看不懂较复杂的电路图
  • 帮公司面试了一个30岁培训班出来的程序员,没啥工作经验...
  • 勒索软件、网络钓鱼、零信任和网络安全的新常态
  • python3 字符串拼接与抽取
  • Linux就该这么学:存储结构与管理硬盘
  • JSP四大作用域,九大内置对象
  • 机器学习笔记之生成模型综述(五)重参数化技巧(随机反向传播)
  • 1、创建第一个Android项目
  • 【python百炼成魔】手把手带你学会python数据类型
  • 数据储存以及大小端判断
  • GRASP设计原则
  • 再遇周杰伦隐私协议
  • 关于项目上的一些小操作记录
  • sql查询不以某些指定字符开头(正则表达式)
  • 35.网络结构与模型压缩、加速-2
  • FreeSWITCH跨NAT部署配置详解