在之前学习Spring+SpringMVC+Mybatis框架时,我们学习了多种配置spring程序的方式,例如:使用XML,注解,Java配置类
,或者是将它们结合使用,但配置文件配置起来依然过于复杂
,而我们接下来要学习的SpringBoot就帮助我们解决了这个问题,它是帮助我们简单,快速地创建一个独立的,生产级别的Spring应用,它的底层也是Spring,大多数SpringBoot应用只需要编写少量配置即可快速整合Spring平台以及第三方技术,表现在开箱即用
,设置可修改的,合理的默认值
,提供一系列大型项目通用的非功能性程序
,并且约定大于配置
,基本不需要主动编写配置类
,也不需要XML配置文件
总的来说SpringBoot存在的意义就是为了简化开发,简化配置,简化整合,简化部署,简化监控,简化运维
系统要求:
maven 3.6.3或者更高版本
java 1.8+
版本过低的小伙伴记得去下载更高的版本哦
MAVEN传送门
JDK传送门
实现springboot的使用:
创建maven工程:
第一步:创建Empty Project,注意不是New Project
第二步:在上述创建完成的项目中右击添加Maven模块,如下所示
配置pom.xml文件:
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>SpringBoot1</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!--引用springBoot父项目,springboot的父项目提供了一些默认的配置和依赖管理-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
</parent>
<dependencies>
<!--导入该依赖可获得web场景的各种依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
在springboot中依赖不需要写版本是因为它在父依赖中将所有jar包的依赖版本都声明好了,且它们之间并不会发生冲突。
启动器Starter有什么作用?
它是一组预定义的依赖项集合,旨在简化spring应用程序的配置和构建过程,它包含了一组相关的依赖项,以便在启动应用程序时,自动导入所需的库,配置和功能。
1:简化依赖
:通过管理和捆绑一组相关的依赖项,减少了手动解析和配置依赖项的工作,只要导入一个相关的starter依赖,即可获得应用程序所需的全部依赖
。
2:自动配置
:它能够在应用程序启动时自动配置所需的组件和功能
,通过根据类路径和其他设置的自动检测,从而使应用程序的配置变得简单和维护成本降低。
官方提供的场景:命名为:spring-boot-starter-*
第三方提供场景:命名为: *-spring-boot-starter
创建访问类:
@springbootApplication是springboot启动类上的一个注解,是一个组合注解
,也就是由其他注解组合起来
,组成该注解的作用也被赋予给@springbootApplication,它的主要作用是标记说明这个类是springboot的主配置类,springboot可以运行这个类里面的main()方法来启动程序
主要由三个子注解组成:
@SpringBootConfiguration:
@EnableAutoConfiguration
@ComponentScan
启动类:
package com.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class);
}
}
接下来我们想实现访问控制方法,将该方法的返回值显示在浏览器上
package com.springboot.Controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
//@RestController是一个组合注解,其中包含@ResponseBody@Controller,因此我们只需要写该注解即可
@RestController
//@ResponseBody
//@Controller
public class HelloSpringboot {
@RequestMapping("/hello")
public String showMessage(){
return "Hello springboot2";
}
}
注:@ResponseBody注解的作用
将方法的返回值直接作为HTTP响应的内容返回给客户端,而不是将返回值视为视图名,再通过视图解析器解析为视图。
我们启动项目,当控制台输出如下所示,即为项目启动成功!
浏览器中访问结果如下所示:
和之前整个的配置相比较,springboot是不是很方便呢,但需要注意的是,springboot只是能为我们快速搭建一个项目,但是它底层依然还是沿用springmvc,
mybatis,spring的内容