前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot依赖原理分析及配置文件

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

作者头像
王同学要努力
发布2023-02-16 08:56:44
4070
发布2023-02-16 08:56:44
举报
文章被收录于专栏:https://blog.csdn.net/xia
在这里插入图片描述
在这里插入图片描述

💟💟前言​ 友友们大家好,我是你们的小王同学😗😗 今天给大家打来的是 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是以 " = " 来连接的~~

代码语言:javascript
复制
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连接数据库

代码语言:javascript
复制
spring:
  datasource:
  url: jdbc:mysql://127.0.0.0:3306/dbname?characterEncoding=utf8
  username: root
  password: root

YML配置对象

创建一个学生类

代码语言:javascript
复制
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

代码语言:javascript
复制
<!-- 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来读取!!

调用类的实现方法

代码语言:javascript
复制
@Component
public class ReadYml2 {
 @Autowired
 private StudentComponent studentComponent;
 @PostConstruct
 public void postConstruct() {
 System.out.println(studentComponent);
 }
}

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

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

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

代码语言:javascript
复制
#student:
#  id: 1
#  name: 小王
#  age: 18


student: {id: 1,name: 张三,age: 18 }
在这里插入图片描述
在这里插入图片描述

效果也是一样的~~ 这就是王同学给大家带来的SpringBoot文件配置

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-02-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置文件分类
  • yaml`
  • 如下图所述示
  • properties的基本语法
  • YML 的优点
  • YML配置对象
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档