城阳天河小学网站建设,名城苏州网首页,深圳专业网站建设多少钱,网站被host重定向是什么意思文章目录 SpringBoot3介绍一、快速入门二、入门总结1. 为什么依赖不需要写版本#xff1f;2. 启动器(Starter)是什么3. SpringBootApplication注解包括的效果#xff1f; 三、SpringBoot3配置文件3.1 统一配置管理概述3.2 属性配置文件使用3.3 YAML配置文件使用3.4 批量配置文… 文章目录 SpringBoot3介绍一、快速入门二、入门总结1. 为什么依赖不需要写版本2. 启动器(Starter)是什么3. SpringBootApplication注解包括的效果 三、SpringBoot3配置文件3.1 统一配置管理概述3.2 属性配置文件使用3.3 YAML配置文件使用3.4 批量配置文件注入3.5 多环境配置和使用 总结 SpringBoot3介绍
SpringBoot3 官方文档
SpringBoot底层是Spring。
约定大于配置基本不需要主动编写配置类、也不需要 XML 配置文件。
总结 简化开发简化配置简化整合简化部署简化监控简化运维。
技术工具版本or latermaven3.6.3 or later 3.6.3 或更高版本Tomcat10.0Servlet9.0JDK17 一、快速入门 创建Maven工程添加依赖(springboot父工程依赖 , web启动器依赖)编写启动引导类(springboot项目运行的入口)编写处理器Controller启动项目 创建空项目springboot-part
创建模块 springboot-base-quick-01
模块下的pom.xml :
添加父工程坐标
添加 spring-boot-starter-parent 用于方便的管理项目依赖。里面已经对各种常用依赖的版本进行了管理项目需要以这个项目为父工程这样我们就不用操心依赖的版本问题了需要什么依赖直接引入坐标(不需要添加版本)即可
添加web启动器
为了让Spring Boot帮我们完成各种自动配置我们必须引入Spring Boot提供的自动配置依赖我们称为启动器。因为我们是web项目这里我们引入web启动器 spring-boot-starter-web
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparent!--所有springboot项目都必须继承自 spring-boot-starter-parent--!-- 设置为 spring-boot 父 parent --groupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion3.0.5/version/parentgroupIdcom.wake/groupIdartifactIdspringboot-base-quick-01/artifactIdversion1.0-SNAPSHOT/versiondependencies
!-- 导入对应的启动器 这是一个整合包--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-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. 为什么依赖不需要写版本
每个boot项目都有一个父项目spring-boot-starter-parentparent的父项目是spring-boot-dependencies父项目把所有常见的jar的依赖版本都声明好了。
2. 启动器(Starter)是什么 Spring Boot提供了一种叫做Starter的概念它是一组预定义的依赖项集合旨在简化Spring应用程序的配置和构建过程。Starter包含了一组相关的依赖项以便在启动应用程序时自动引入所需的库、配置和功能。 主要作用如下 Spring Boot提供了许多预定义的Starter例如
spring-boot-starter-web用于构建Web应用程序spring-boot-starter-data-jpa用于使用JPA进行数据库访问spring-boot-starter-security用于安全认证和授权等等。 spring boot提供的全部启动器地址Starter - springboot启动器 官方文档 3. SpringBootApplication注解包括的效果
一个组合注解里面包含一系列的子注解。
EnableAutoConfiguration注解 用于启用Spring Boot的自动配置机制 ComponentScan注解 自动扫描并且加载组件 …
三、SpringBoot3配置文件
想要设置的任何参数端口号、项目根路径、数据库连接信息等等)都集中到一个固定位置和命名的配置文件application.properties或application.yml中
3.1 统一配置管理概述
配置文件应该放置在Spring Boot工程的src/main/resources目录下。这是因为src/main/resources目录是Spring Boot默认的类路径classpath配置文件会被自动加载并可供应用程序访问。
功能配置参数说明springboot配置参数 - 官方文档
细节总结
集中式管理配置。统一在一个文件完成程序功能参数设置和自定义参数声明 。位置resources文件夹下必须命名application 后缀 .properties / .yaml / .yml 。如果同时存在application.properties | application.yml(.yaml) , properties的优先级更高。配置基本都有默认值。
3.2 属性配置文件使用 application.properties
# 使用springboot提供的配置修改程序的参数 key是固定的
server.port80
server.servlet.context-path/doug# 自定义配置
doug.name道格维克
doug.nicknameKNELL测试
RestController
RequestMapping(hello)
public class HelloController {Value(${doug.nickname})private String name;GetMapping(boot)public String hello(){System.out.println(name);return hello springboot!!!;}
}3.3 YAML配置文件使用 YAMLYAML Ain’t Markup Language是一种基于层次结构的数据序列化格式 yaml语法说明:
数据结构用树形结构呈现通过缩进来表示层级连续的项目集合通过减号 ” - ” 来表示键值结构里面的key/value对用冒号 ” : ” 来分隔。YAML配置文件的扩展名是yaml 或 yml
# yaml | yml 有层次可以继承配置文件格式server:port: 80servlet:context-path: /doug# 自定义 注意 key:空格 值
# key:后面加一个空格再写值
doug:info:name: dougwakeage: 22root:username: rootpwd: root123
# 集合的格式 - gfs:- 艾琳·艾德勒- 萨曼莎·格罗夫斯- 杰罗姆·尤金读取方式和properties一致
3.4 批量配置文件注入
yml
doug:info:name: dougwakeage: 22user:username: rootpwd: 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 ListString gfs;
}controller
RestController
RequestMapping(hello)
public class HelloController {Autowiredprivate User user;GetMapping(show)public User show(){return user;}
}测试
3.5 多环境配置和使用 application.yml
# 自定义 注意 key:空格 值
# key:后面加一个空格再写值
doug:info:name: dougwakeage: 22user:username: rootpwd: root123
# 集合的格式 -gfs:- a- b- b
spring:profiles:active: test,dev # 激活外部的配置 application-test | application-dev# 外部配置的key和当前key 重复时 外部的会覆盖当前内部的# jar --activetest总结
springboot-part - GitHub
spring-boot-starter-web 依赖里面包括 多个yml文件 配置 parent源码 允许文件