基本概念
SpringBoot基于Spring,将其中繁琐的配置进行了优化,只需要很少的代码,即可以实现大量的功能. 体现了开箱即用 思想.
springBoot将繁琐的配置封装到某些jar包中. 该jar包中的文件已经完成了配置.引入即可使用.只需要少量的配置就可以获取其功能的方式 叫做 “开箱即用”
pom.xml基本配置说明
如何理解Spring Boot中的Starter
starter就是定义一个starter的jar包,写一个@Configuration配置类,将这些bean定义在里面,然后在starter包的META-INF/spring.factories中写入该配置类,springboot会按照约定来加载该配置类; 开发人员只需要将相应的starter包依赖进应用,进行相应的属性配置(使用默认配置时,不需要配置),就可以直接进行代码开发,使用对应的功能了
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--maven坐标 必须唯一-->
<groupId>com.jt</groupId>
<artifactId>springboot_demo1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot_demo1</name>
<description>Demo project for Spring Boot</description>
<!--
配置信息: JDK版本/设定了字符集/springboot版本信息
-->
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>2.3.7.RELEASE</spring-boot.version>
</properties>
<!-- 指定依赖项 -->
<dependencies>
<!--
现象:
springboot中的jar包文件缺少版本号
原因:
原来开发框架时需要自己手动添加版本号.SpringBoot框架
引入之后,所有的版本号信息,由SpringBoot官网进行测试(springboot将市面上
常用的框架进行了整合,并且测试了jar包的版本及依赖关系).springBoot内部已经完成
了版本定义.所以无需再写.但是有些jar版本还需要自己指定
-->
<!--启动项: spring-boot-starter-xxxx springboot整合springmvc-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--使用jetty替换tomcat-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--添加lombok的包,用于POJO中使用@Data自动生成get()/set()/toSring()等常用方法-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--引入AOPjar包文件-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<!--mybatis依赖包-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<!--jdbc依赖包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
<!--springboot项目依赖管理器,其中定义了其它框架的jar包,
以后使用直接添加jar包即可
-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<!--
标签说明:
maven操作springboot项目的工具
1.编译工具 maven-compiler-plugin
作用: maven执行指令时,通过插件管理SpringBoot项目
2.项目打包工具 spring-boot-maven-plugin
采用install的方式将springboot项目打成jar包.
springboot的项目和常规项目不一样.所以需要添加插件
-->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.7.RELEASE</version>
<configuration>
<mainClass>com.jt.SpringbootDemo1Application</mainClass>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
主启动类的说明
规则: 当前包扫描的路径 默认就是主启动类所在的包路径…
注意事项: 以后写代码 必须在主启动类所在包路径的 同包及子包中编辑
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringbootDemo1Application {
/**
* 1.只启动类执行时,开始加载@SpringBootApplication注解
* 2.
* @param args
*/
public static void main(String[] args) {
//SpringBoot的方式管理的Spring容器
SpringApplication.run(SpringbootDemo1Application.class, args);
}
}
开箱即用-自动配置注解
注解名称: @EnableAutoConfiguration 启动自动化的配置
规则: 该注解的作用用来加载springBoot-start-xxx的启动项.当主启动类执行时,则会开始加载启动项中的配置.则功能加载成功.
SpringBoot-application.yml配置文件
说明: SpringBoot项目中有多个配置文件.如果大量的重复的配置项都写到其中,则用户体验不好.
如果需要优化,则可以修改为yml文件,
即application.properties的文件 修改名称为application.yml文件
# 基本语法
#语法介绍
## 1.YML 有层级效果.相同的key可以复用
## 2.YML 配置文件注意缩进
## 3.YML 配置文件支持中文 字符集编码UTF-8
## 4.YML 数据结构 key:空格value
server:
port: 8080
SpringBoot测试方法
SpringBoot为了简化程序测试过程,springBoot针对于测试方法,开发了一个注解@SpringBootTest.
规则说明:
1. 当运行@Test注解标识的方式时,SpringBoot程序启动.
2. SpringBoot启动,内部Spring容器启动.基于IOC管理对象,DI注入对象
3. 可以在任意的测试类中注入想要的对象.
注意事项:
测试类的包路径,必须在主启动类的同包及子包中编辑.
lombok插件的使用流程:
1.引入jar包
<!--添加lombok的包-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
2.安装插件
方法一:
方式二:
还可以从官网下载: https://plugins.jetbrains.com/plugin/6317-lombok
3. lombok的使用
在POJO类中使用@Data注解即可(lombok插件编译器有效)