springboot框架(上)

it2026-08-22  5

1.springboot框架能够帮我们做什么?

简化ssm框架的搭建工作,避免非常多的xml配置文件,提倡的以类配置的方式来进行配置。该框架内提供了很多的预配置类(在spring-boot-autoconfiguration/META-INF/spring.factories/EnableAutoConfiguration)。

简化了其他组件向spring框架集成。

springboot框架对web开发涉及到技术栈都能整合到一起。

2.对springboot框架的启动类有清晰的认识

main方法中

SpringApplication.run(主配置类的类对象,main参数) 初始化了springboot监听器(监听程序的启动,销毁) 打印输出banner 创建spring容器对象,加载配置类,refreshContext方法初始化容器,识别SpringBootConfiguration注解 初始化FatilureAnalyer错误分析器对象,共19个。

类上的@SpringBootApplication注解

@SpringBootConfiguration:本质就是@Configuration注解,表示当前类是一个配置类。 @EnableAutoConfiguration @AutoConfigurationPackage:把主配置类的包名作为bean扫描的范围。 @Import({AutoConfigurationImportSelector.class}):去jar包/META-INF/spring.factories下查找key为EnableAutoConfiguration的数据,找到jar包的所有的预配置类,按条件加载配置。 @ComponentScan:开启包扫描(@Configuration,@Controller,@Service,@Component,@Value,@Bean...)

3.对springboot的pom文件有清晰的认识

parent父工程:指定当前项目的父工程,父工程统一了各个组件之间的版本兼容;统一maven插件配置

packaging打包方式:默认是jar包打包

starter启动器:

​ springboot对组件提供了启动器的概念,把该组件整合项目需要用到的各个依赖包进行整理,并把该组件需要加入spring容器的bean对象做了预配置。

​ 官方的启动器:spring-boot-starter-web;spring-boot-starter-json;spring-boot-starter-jdbc;spring-boot-starter-redis

​ 第三方的启动器:Druid-spring-boot-starter;mybatis-spring-boot-starter

spring-boot-maven-plugin插件:把项目打包为jar包,并设置Main-class启动类,目的是让该jar包是一个可执行的jar包

<?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插件配置--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>boot110</artifactId> <version>0.0.1-SNAPSHOT</version> <name>boot110</name> <!--打包方式默认是jia包打包,其他的方式还有war,pom--> <properties> <java.version>1.8</java.version> </properties> <dependencies> <!--官方启动器--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--热部署,java类改变的时候,自动重启--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </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> </dependencies> <build> <plugins> <!--把项目打包为jar包,并设置Main-class启动类,目的是让该jar包是一个可执行的jar包--> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
最新回复(0)