友情提醒:
先看文章目录,大致了解文章知识点结构,点击文章目录可直接跳转到文章指定位置。 |
①概念:
Springboot是Java 框架。开发人员在用 Java 编程语言来创建应用时,所使用的一系列预编写代码。它们起着模板的作用,这样开发人员即可以在一定的结构上来编写应用,而无需从头开始手动创建。
②好处:
1.Spring Boot抛弃了繁琐的xml配置过程,使用对应注解来代替,采用大量的默认配置简化我们的开发过程(主要简化配置)。
2.能够快速创建基于Spring的应用程序
3.能够直接使用java main方法启动内嵌的Tomcat服务器运行Spring Boot程序,不需要部署war包文件。
4.提供约定的starter POM依赖来简化Maven配置,让Maven的配置变得简单。
5.自动化配置,根据项目的Maven依赖配置,Spring boot自动配置Spring、Spring mvc等。
6.提供了程序的健康检查等功能
①两个策略:开箱即用和约定优于配置。
1.开箱即用是通过在MAVEN项目的pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期。
2.约定优于配置是由SpringBoot本身来配置目标结构,由开发者在结构中添加信息,减少了开发人员需要做出决定的数量,同时可以将代码编译、测试和打包等工作自动化。
②四大核心
1.自动配置——Auto-Configuration
它是指基于你引入的依赖Jar包,对SpringBoot应用进行自动配置,它为SpringBoot框架的"开箱即用"提供了基础支撑。
2.起步依赖
起步依赖就是特殊的Maven依赖,利用了传递依赖解析,把常用库聚合在一起。不再需要向项目pom.xml文件中添加一堆单独的依赖,添加依赖时不需要指定依赖的版本号而由当前的Spring Boot版本号决定。
3.自带监控组件——Actuator
管理和监控工具,用于监控和管理Spring Boot应用程序。它可以提供对应用程序的运行时信息、健康状况、性能指标、日志等进行监控和管理
4.命令行界面
这是Spring Boot的可选特性,主要针对Groovy语言使用,Groovy 代码能够与Java代码很好地结合,也能用于扩展现有代码,由于其运行在JVM上的特性,Groovy可以使用其他Java语言编写的库。
①file–>new project
②创建一个新工程 ,名为springboot
③在新工程下创建新module
选择spring initializr 右侧的Module SDK根据自己的jdk版本选择相应jdk
④指定GAV及pom配置信息
⑤选择Spring Boot版本及依赖
⑥创建完成
①新建后项目结构如图
②pom文件内容解释
<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.0modelVersion>
<parent>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-parentartifactId>
<version>2.7.16version>
<relativePath/>
parent>
<groupId>com.example.springbootgroupId>
<artifactId>001-springboot-firstartifactId>
<version>1.0.0version>
<name>001-springboot-firstname>
<description>Demo project for Spring Bootdescription>
<properties>
<java.version>11java.version>
properties>
<dependencies>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-testartifactId>
<scope>testscope>
dependency>
dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
plugin>
plugins>
build>
project>
①起步依赖将常用库聚合在一起。不再需要向项目pom.xml文件中添加一堆单独的依赖,添加依赖时不需要指定依赖的版本号而由当前的Spring Boot版本号决定。
①根据springboot的约定,Java代码必须要在Application的同级包或者子包中
①SpringBootController类的代码如下
package com.example.springboot.web;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class SpringBootController {
@RequestMapping(value = "/springBoot/first")
@ResponseBody
public String say() {
return "Hello,springBoot!";
}
}
①Spring Boot的核心配置文件用于配置Spring Boot程序,名字必须以application开始。默认采用的是properties配置文件,可以在其中配置站点名称和端口号
②配置信息如下
#设置内嵌Tomcat端口号
server.port=9001
#配置项目上下文根
server.servlet.context-path=/001-springboot-first
①在IDEA中右键,运行Application类中的main方法,启动SpringBoot框架,会启动一个内嵌的tomcat,端口号为配置的9001,上下文根为配置的/001-springboot-first
②在浏览器中输入http://localhost:9001/001-springboot-first/springBoot/first访问,访问成功
具体的项目开发过程会遇不同的环境(开发/测试/上线等),为了在不同的环境之间切换,SpringBoot提供了多环境配置。
为每个环境创建一个配置文件,命名必须以application-环境标识.properties文件或者.yml文件
①开发环境配置文件
②生产环境配置文件
③在总配置文件application.properties进行环境的激活,这里的product对应文件名application-produc的横杠后面的produc
①@Value注解用于获取配置文件中的属性定义并绑定到Java Bean或属性中。在核心配置文件applicatin.properties中,添加两个自定义配置项school.name和school.website。
②在SpringBootController中定义属性,并使用@Value注解或者自定义配置值,并对其方法进行测试
package com.example.springboot.web;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class SpringBootController {
@Value("${school.name}")
private String schoolName;
@Value("${school.websit}")
private String schoolWebsit;
@RequestMapping(value = "/springBoot/first")
@ResponseBody
public String say() {
return schoolName + "------" + schoolWebsit;
}
}
③访问浏览器成功,说明成功通过@value读取配置的属性值
①自定义配置项比较多的情况可以使用ConfigurationProperties注解,用于获取配置文件中的属性定义并绑定到Java Bean或属性中
②springboot包下创建config同时创建ConfigInfo类,在ConfigInfo类中使用ConfigurationProperties和Component注解,prefix的作用是区分同名配置,如果不指定,那么会去配置文件中寻找与该类的属性名一致的配置。
③开发环境配置文件中,设置有对应属性的三个配置项
④在SpringBootController中注入ConfigInfo配置类
⑤重新运行Application,在浏览器中进行测试,测试成功