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

news2024/11/23 3:11:07

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

💟💟前言

友友们大家好,我是你们的小王同学😗😗
今天给大家打来的是 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=utf8
  username: root
  password: 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;

    @Override
    public 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 {
 @Autowired
 private StudentComponent studentComponent;
 @PostConstruct
 public void postConstruct() {
 System.out.println(studentComponent);
 }
}

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

在这里插入图片描述

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

#student:
#  id: 1
#  name: 小王
#  age: 18


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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/346911.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电脑文件被误删?360文件恢复工具,免费的文件恢复软件

电脑里面保存着各种文件&#xff0c;因为误操作我们把还需要用的文件给删除了。很多人都想要使用不收费的文件恢复软件来进行恢复操作&#xff0c;但是又不清楚有哪些文件可以帮到我们。接下来就给大家介绍&#xff0c;一款真正免费的数据 恢复app&#xff0c;一起来看看&#…

eSGD(edge SGD) 边缘设备进行分布式机器学习的参数聚合策略实现高效通信 论文精读

说明 这篇论文比较短&#xff0c;但是提出的方法确很不错。联邦学习或者分布式机器学习中减少通信开销一般有两种方法&#xff1a; 减少发送的数据量&#xff1b;通过改变通信的拓扑结构&#xff1b; 本文通过选取重要的梯度进行更新而减少通信的开销&#xff0c;属于第一种…

招聘链接怎么做_分享招聘小程序制作步骤

招聘小程序的主要用户就是企业招聘端和找工作人员的用户端,下面从这两个端来对招聘小程序开发的功能进行介绍。 企业端功能 1、岗位发布:企业根据自身岗位需求,在招聘app上发布招聘岗位及所需技能。 2.简历筛选:根据求职者提交的简历选择合适的简历,并对公开发布的简历进行筛…

主数据管理平台如何进行模型管理

企业管理主数据&#xff0c;模型管理尤为重要。在对主数据进行建模操作时&#xff0c;既要保证数据通用性、安全性&#xff0c;又要符合企业的业务需求。今天小亿带你认识一下亿信华辰睿码主数据管理平台里的主数据模型管理。 主数据模型分类 一款专业的主数据管理平台&#…

【RabbitMQ笔记01】Windows搭建RabbitMQ消息队列基础运行环境

这篇文章&#xff0c;主要介绍如何在Windows系统中&#xff0c;搭建RabbitMQ消息队列的运行环境。 目录 一、RabbitMQ消息队列 1.1、什么是RabbitMQ 1.2、安装Erlang &#xff08;1&#xff09;下载安装包 &#xff08;2&#xff09;配置环境变量 &#xff08;3&#xff…

C++STL剖析(七)—— map和multimap的概念和使用

文章目录1. map的介绍和使用&#x1f351; map的模板参数列表&#x1f351; map的构造&#x1f351; map的使用&#x1f345; insert&#x1f345; operator[ ]&#x1f345; find&#x1f345; erase&#x1f345; swap&#x1f345; empty&#x1f345; size&#x1f345; co…

共享—1658页《Java面试突击核心手册》几乎覆盖市面上所有面试考点

说快也快&#xff0c;说不快也不慢&#xff01; 年前&#xff0c;陆陆续续&#xff0c;好多大厂都在裁员&#xff1b; 年后&#xff0c;又有一大批程序员失业&#xff0c;找不到避风港&#xff1b; 这时候&#xff0c;就有人说了&#xff0c;为什么找工作这么难&#xff1f;…

堆排序的概念

文章目录一、堆&#xff08;Heap&#xff09;的基本概念1.1 引入二叉树的顺序存储二、建立大根堆三、基于大根堆进行排序选择排序&#xff1a;在每一趟待排元素中选取关键字最小&#xff08;或最大&#xff09;的元素加入有序子序列选择排序分为&#xff1a; 简单选择排序堆排…

springboot+mybatis连接数据库实现增删改查功能

springbootmybatis连接数据库实现增删改查功能创建表创建项目实体类DAO接口写sql的XML文件Service层Controller启动类结果目录结构参考博客创建表 create table user(id int ,name varchar(30),pwd varchar(40) )insert into user values(2,hxf,789101),(3,hlm,789102),(4,hzh…

【ArcGIS自定义脚本工具】批量对栅格执行栅格计算器

文章目录一、功能介绍二、脚本代码三、工具参数四、用例4.1 批量单位换算4.2 批量计算植被覆盖度4.3 批量填充空值系列文章目录&#xff1a; ArcGIS自定义脚本工具一、功能介绍 功能 将多个栅格文件按照某以代数表达式执行栅格计算器(Raster Calculator) 工具&#xff0c;并将输…

linux内核内存笔记

一、linux用户态内核态内存结构 对于32位的linux操作系统&#xff0c;系统为每个进程分配0~4G的内存空间&#xff0c;而64位系统则更大&#xff1a; linux内存空间地址范围 可见Linux的内存分配规则&#xff1a; 二、总体分配规则 1、用户态在低地址&#xff0c;内核态在高地址…

进击中的 Zebec 生态,Web2 与 Web3 世界的连接器

虽然从意识形态上看&#xff0c;Web2世界与Web3世界存在着不同的逻辑&#xff0c;但我们同样看到&#xff0c;随着加密资产领域的发展&#xff0c;其正在作为优质投资品&#xff0c;被以Paypal、高盛等主流机构重视与接受。当然&#xff0c;除了作为投资者品外&#xff0c;近年…

C++学习笔记-环境设置

C 是一种通用编程语言&#xff0c;如今已广泛用于竞争性编程。它具有命令式&#xff0c;面向对象和通用编程功能。 C 在Windows&#xff0c;Linux&#xff0c;Unix&#xff0c;Mac等许多平台上运行。在开始使用C 进行编程之前。我们将需要在本地计算机上设置一个环境&#xff0…

用PHP实现CSPRepor报告预警信息存储和动态显示。

一、了解CSP内容安全策略 CSP 的实质就是白名单制度&#xff0c;开发者明确告诉客户端&#xff0c;哪些外部资源可以加载和执行&#xff0c;等同于提供白名单。它的实现和执行全部由浏览器完成&#xff0c;开发者只需提供配置。 作用就是&#xff1a;大大增强了网页的安全性。…

透明和半透明效果

Alpha通道 透明度可以通过base map的alpha通道来控制。Alpha值低的话&#xff0c;mesh就变得更加透明&#xff0c;alpha值高的话&#xff0c;mesh的透明度会变低&#xff0c;变得能更加轻松地被看到。当alpha为0时&#xff0c;mesh就完全不可见了&#xff0c;alpha值在中间时&a…

kubernetes(k8s) 知识总结(第2期)

1. “控制器”思想 kube-controller-manager 是一系列控制器的集合&#xff0c;这些控制器被放在 Kubernetes 项目的 pkg/controller 目录&#xff0c;这些控制器都以独有的方式负责某种编排功能。它们都遵循一个通用的编排模式——控制循环。 以 Deployment 为例介绍它对控…

最最普通程序员,如何利用工资攒够彩礼,成为人生赢家

今天我们不讲如何提升你的专业技能去涨工资&#xff0c;不讲面试技巧如何跳槽涨工资&#xff0c;不讲如何干兼职赚人生第一桶金&#xff0c;就讲一个最最普通的程序员&#xff0c;如何在工作几年后&#xff0c;可以攒够彩礼钱&#xff0c;婚礼酒席钱&#xff0c;在自己人生大事…

什么是网络流量分析(NTA),有什么好用的NTA软件

分析网络的稳定性首先要监控其性能、设备功能、网络速度以及许多网络管理员忽略的另一个方面&#xff1a;网络流量。网络流量分析 &#xff08;NTA&#xff09; 通常是考虑最少的方面&#xff0c;但它会影响许多问题&#xff0c;例如性能下降和用户速度缓慢。忽视它可能会让位于…

SQL语句实现找到一行中数据最大值(greatest)/最小值(least);mysql行转列

今日我在刷题时遇到这样一个题&#xff0c;它提到了以下需求&#xff1a; 有一场节目表演&#xff0c;五名裁判会对节目提供1-10分的打分&#xff0c;节目最终得分为去掉一个最高分和一个最低分后的平均分。 存在以下一张表performence_detail&#xff0c;包含字段有performa…

Docker安装RocketMQ 4.8

1拉取4.8镜像 docker pull foxiswho/rocketmq:4.8.0拉取控制台镜像 docker pull styletang/rocketmq-console-ng2创建rocketmq使用的共有网络&#xff0c;便于相互访问 docker network create rocketmq_network3启动rmqnamesrv docker run -d --name rmqnamesrv --network …