【SpringBoot3】快速启动框架 快速入门 配置文件

本文介绍了SpringBoot3.0的快速入门步骤,包括添加依赖、启动类编写和web应用配置。重点讲解了依赖管理、@SpringBootApplication注解的作用、配置文件的使用(properties和YAML)、批量配置注入以及多环境配置。
摘要由CSDN通过智能技术生成


SpringBoot3介绍

SpringBoot3 官方文档

SpringBoot底层是Spring。

约定大于配置,基本不需要主动编写配置类、也不需要 XML 配置文件。

总结:
简化开发,简化配置,简化整合,简化部署,简化监控,简化运维。

技术&工具版本(or later)
maven3.6.3 or later 3.6.3 或更高版本
Tomcat10.0+
Servlet9.0+
JDK17+

下一篇 :

【SpringBoot3】整合SpringMVC
【SpringBoot3】整合Druid数据源和Mybatis 项目打包和运行


一、快速入门

  1. 创建Maven工程
  2. 添加依赖(springboot父工程依赖 , web启动器依赖)
  3. 编写启动引导类(springboot项目运行的入口)
  4. 编写处理器Controller
  5. 启动项目

创建空项目:springboot-part

创建模块 : springboot-base-quick-01

模块下的pom.xml :

  1. 添加父工程坐标
  • 添加 spring-boot-starter-parent 用于方便的管理项目依赖。
  • 里面已经对各种常用依赖的版本进行了管理
  • 项目需要以这个项目为父工程,这样我们就不用操心依赖的版本问题了
  • 需要什么依赖,直接引入坐标(不需要添加版本)即可
  1. 添加web启动器
  • 为了让Spring Boot帮我们完成各种自动配置,我们必须引入Spring Boot提供的自动配置依赖,我们称为启动器
  • 因为我们是web项目,这里我们引入web启动器 spring-boot-starter-web
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
    <!--所有springboot项目都必须继承自 spring-boot-starter-parent-->
        <!-- 设置为  spring-boot  父 parent   -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>3.0.5</version>
    </parent>

    <groupId>com.wake</groupId>
    <artifactId>springboot-base-quick-01</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
<!--   导入对应的启动器 
		这是一个整合包
    -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
</project>
  • 启动类:
@SpringBootApplication //启动类
public class Main {
    public static void main(String[] args) {
        //自动创建IOC容器,启动tomcat服务器
        SpringApplication.run(Main.class,args);
    }
}
  • controller 测试:
    • IoC和DI注解需要在启动类的同包或者子包下方可生效!
    • 无需指定,约束俗称。
@RestController
@RequestMapping("hello")
public class HelloController {
    @GetMapping("boot")
    public String hello(){
        return "hello springboot!!!";
    }
}
  • 目录
    1

  • 直接启动:
    1

  • 显示:
    1

二、入门总结

1

1. 为什么依赖不需要写版本?

  • 每个boot项目都有一个父项目spring-boot-starter-parent
  • parent的父项目是spring-boot-dependencies
  • 父项目,把所有常见的jar的依赖版本都声明好了。
    1

2. 启动器(Starter)是什么

  • Spring Boot提供了一种叫做Starter的概念,它是一组预定义的依赖项集合,旨在简化Spring应用程序的配置和构建过程。
  • Starter包含了一组相关的依赖项,以便在启动应用程序时自动引入所需的库、配置和功能。

主要作用如下:

1

Spring Boot提供了许多预定义的Starter,例如 :

  • spring-boot-starter-web用于构建Web应用程序,
  • spring-boot-starter-data-jpa用于使用JPA进行数据库访问,
  • spring-boot-starter-security用于安全认证和授权等等。

spring boot提供的全部启动器地址:Starter - springboot启动器 官方文档

3. @SpringBootApplication注解包括的效果?

一个组合注解,里面包含一系列的子注解。
1

  • @EnableAutoConfiguration注解
    • 用于启用Spring Boot的自动配置机制
  • @ComponentScan注解
    • 自动扫描并且加载组件

三、SpringBoot3配置文件

想要设置的任何参数(端口号、项目根路径、数据库连接信息等等)都集中到一个固定位置和命名的配置文件(application.propertiesapplication.yml)中
1

3.1 统一配置管理概述

配置文件应该放置在Spring Boot工程的src/main/resources目录下。这是因为src/main/resources目录是Spring Boot默认的类路径(classpath),配置文件会被自动加载并可供应用程序访问。
1

功能配置参数说明:springboot配置参数 - 官方文档

细节总结:

  • 集中式管理配置。统一在一个文件完成程序功能参数设置和自定义参数声明 。
  • 位置:resources文件夹下,必须命名application 后缀 .properties / .yaml / .yml
  • 如果同时存在application.properties | application.yml(.yaml) , properties的优先级更高。
  • 配置基本都有默认值。
    • 1

3.2 属性配置文件使用

在这里插入图片描述

  • application.properties
# 使用springboot提供的配置,修改程序的参数 key是固定的
server.port=80
server.servlet.context-path=/doug

# 自定义配置
doug.name=道格维克
doug.nickname=KNELL
  • 测试
@RestController
@RequestMapping("hello")
public class HelloController {

    @Value("${doug.nickname}")
    private String name;

    @GetMapping("boot")
    public String hello(){
        System.out.println(name);
        return "hello springboot!!!";
    }
}

1
1

3.3 YAML配置文件使用

YAML(YAML Ain’t Markup Language)是一种基于层次结构的数据序列化格式

yaml语法说明:

  1. 数据结构用树形结构呈现,通过缩进来表示层级,
  2. 连续的项目(集合)通过减号 ” - ” 来表示
  3. 键值结构里面的key/value对用冒号 ” : ” 来分隔。
  4. YAML配置文件的扩展名是yaml 或 yml
# yaml | yml 有层次,可以继承配置文件格式

server:
  port: 80
  servlet:
    context-path: /doug

# 自定义 注意 key:空格 值 
#  key:后面加一个空格再写值
doug:
  info:
    name: dougwake
    age: 22
  root:
    username: root
    pwd: root123
#    集合的格式 - 
  gfs:
    - 艾琳·艾德勒
    - 萨曼莎·格罗夫斯
    - 杰罗姆·尤金

读取方式和properties一致

3.4 批量配置文件注入

  • yml
doug:
  info:
    name: dougwake
    age: 22
  user:
    username: root
    pwd: root123
#    集合的格式 -
    gfs:
      - a
      - b
      - b
  • 实体类
/**
 * @Description:
 *  1. 读取配置方式一 : @Value
 *      直接在属性上赋值
 *      只能读取单个值,集合就不能读取,会报错
 *  2. 批量配置读取 :
 *      @ConfigurationProperties(prefix = "doug.user") 通用的前缀
 *     不用一个一个属性赋值,集合也能赋值了
 */
@Data
@Component
@ConfigurationProperties(prefix = "doug.user")
public class User {
    private String username;
    private String pwd;
    private List<String> gfs;
}
  • controller
@RestController
@RequestMapping("hello")
public class HelloController {
    @Autowired
    private User user;

    @GetMapping("show")
    public User show(){
        return user;
    }
}
  • 测试
    1

3.5 多环境配置和使用

1

  • application.yml
# 自定义 注意 key:空格 值
#  key:后面加一个空格再写值
doug:
  info:
    name: dougwake
    age: 22
  user:
    username: root
    pwd: root123
#    集合的格式 -
    gfs:
      - a
      - b
      - b
spring:
  profiles:
    active: test,dev # 激活外部的配置 application-test | application-dev
                      # 外部配置的key和当前key 重复时 外部的会覆盖当前内部的
                        # jar --active=test

1
1


总结

springboot-part - GitHub

  • spring-boot-starter-web 依赖里面包括:
    1
  • 多个yml文件 配置
    1
  • parent源码 允许文件
    1
  • 30
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加文格罗夫斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值