
SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
SpringBoot的主要优点
jdk1.8
Maven-3.6.1
SpringBoot 最新版
IDEA
Spring Initializr:https://start.spring.io/
项目创建方式一:
打开 https://start.spring.io/
填写项目信息
点击”Generate Project“按钮生成项目;下载此项目
解压项目包,并用IDEA以Maven项目导入,一路下一步即可,直到项目导入完毕。
项目创建方式二:
项目结构分析:
程序的主启动类
一个 application.properties 配置文件
一个 测试类
一个 pom.xml
pom.xml:
4.0.0 org.springframework.boot spring-boot-starter-parent 2.5.5 com.zhang springboot-02-config 0.0.1-SNAPSHOT springboot-02-config Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-configuration-processor org.springframework.boot spring-boot-starter-validation org.springframework.boot spring-boot-maven-plugin
主要有四个部分:
项目元数据:创建时候输入的Project metadata部分,也就是Maven项目的基本元素,包括:groupId、artifactId、version、name、description等
parent:继承spring-boot-starter-parent的依赖管理,控制版本与打包等内容
dependencies:项目具体依赖,这里包含了spring-boot-starter-web用于实现HTTP接口(该依赖中包含了Spring MVC),官网对它的描述是:使用Spring MVC构建Web(包括RESTful)应用程序的入门者,使用Tomcat作为默认嵌入式容器。spring-boot-starter-test用于编写单元测试的依赖包。更多功能模块的使用将在后面逐步展开。
build:构建配置部分。默认使用了spring-boot-maven-plugin,配合spring-boot-starter-parent就可以把Spring Boot应用打包成JAR来直接运行。
@Controller
@RequestMapping("/hello")
public class HelloController {
@GetMapping("/hello")
@ResponseBody
public String hello(){
return "hello";
}
}
只需一步:到项目下的 resources 目录下新建一个banner.txt 即可。
图案可以到:https://www.bootschool.net/ascii 这个网站生成,然后拷贝到文件中即可!
pom.xml
org.springframework.boot spring-boot-starter-parent 2.5.5
org.springframework.boot spring-boot-dependencies 2.5.5
org.springframework.boot spring-boot-starter
springboot-boot-starter-xxx,就是Springboot的启动场景
比如spring-boot-starter-web,他就会帮我们自动导入web的所有依赖
springboot会将所有的功能场景,都变成一个个的启动器
我们要使用什么功能,就只需要找到对应的启动器就好了start
package com.zhang;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//@SpringBootApplication 来标注一个主程序类
//说明这是一个Spring Boot应用
@SpringBootApplication
public class Springboot01HelloworldApplication {
public static void main(String[] args) {
SpringApplication.run(Springboot01HelloworldApplication.class, args);
}
}
8.2 注解(@SpringBootApplication)
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
excludeFilters = {@Filter(
type = FilterType.CUSTOM,
classes = {TypeExcludeFilter.class}
), @Filter(
type = FilterType.CUSTOM,
classes = {AutoConfigurationExcludeFilter.class}
)}
)
@ComponentScan
这个注解在Spring中很重要 ,它对应XML配置中的元素。
作用:自动扫描并加载符合条件的组件或者bean , 将这个bean定义加载到IOC容器中
作用:SpringBoot的配置类 ,标注在某个类上 , 表示这是一个SpringBoot的配置类;
@EnableAutoConfiguration开启自动配置功能