一、SpringBoot入门
1.1 什么是SpringBoot
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来==简化新Spring应用的初始搭建以及开发过程==。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
官网这个图我们来简单了解一下,可以通过SpringBoot快速构建一个一个小的模块,我们可以认为是开发出一个个的微服务
之后通过SpringCloud协调你开发的微服务模块,这些微服务可以通过springdata进行数据交互
学习SpringBoot之前应该先学习SSM框架之后再来学习,这样才能体会到它带来的便利!
1.2 SpringBoot优缺点
优点:
- 创建独立Spring应用
- 内嵌web服务器
- 自动starter依赖,简化构建配置
- 自动配置Spring以及第三方功能
- 提供生产级别的监控、健康检查及外部化配置
- 无代码生成、无需编写XML
SpringBoot是整合Spring技术栈的一站式框架
SpringBoot是简化Spring技术栈的快速开发脚手架
什么是脚手架???对于程序员来说脚手架就是代码生成器。不用重复的进行创建类和基本的增删改查等工作。只需要按照步骤配置好,就能自动完成基础类和各个实现类等的创建了。
缺点:
- 更新快,需要不断学习新技术
- 封装太深,不利于精通
1.3 SpringBoot快速入门
环境如下:
1.3.1 通过Maven导入依赖
pom文件
<?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>com.caq</groupId> <artifactId>SpringBootStudy</artifactId> <version>1.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> </project>
在SpringBoot中我们想进行WEB开发,可以直接导入一个spring-boot-starter-web即可
在原来的SSM阶段我们要导入大量的包,springboot中这一个包就可以把SSM阶段WEB开发需要的都导入进来
1.3.2 直接上代码运行
主程序代码
@SpringBootApplication代表这是一个springboot应用
ConfigurableApplicationContext run = SpringApplication.run(MainApplication.class, args);属于固定写法
package com.caq.boot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext; @SpringBootApplication public class MainApplication { public static void main(String[] args) { ConfigurableApplicationContext run = SpringApplication.run(MainApplication.class, args); } }
控制层代码
@RestController是@ResponseBody的结合@Controller
@Controller是创建
@RequestMapping注解的作用就是将请求和处理请求的控制器方法关联起来,建立映射关系。
package com.caq.boot.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class Controller { @RequestMapping("/hello") public String handle01(){ return "Hello SpringBoot 2 !"; } }
运行主程序访问8080端口
测试成功~~
1.4 简化配置
写一个application.properties配置文件,所有的配置文件都可以写这里面
比如我们改tomcat的端口号为8089
如下所示:
ini
复制代码
server.port=8089
重新启动程序访问测试
1.5 简化部署
把项目打成jar包,直接在目标服务器执行即可。
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
通过如下命令运行我们的程序
java -jar 运行我们的jar包
dir查看当前目录下的文件
测试依旧可以访问,我还更改了返回的字符串