持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第4天,点击查看活动详情
SpringBoot基本概念
初始SpringBoot
SpringBoot是Spring全家桶的成员之一,基于约定优于配置的思想(即有约定默认值,在不配置的情况下会使用默认值,在配置文件下配置的话会使用配置的值)。SpringBoot是一种整合Spring技术栈的方式(或者说是框架),同时也是简化Spring的一种快速开发的脚手架。 Spring 的诞⽣是为了简化 Java 程序的开发的,⽽ Spring Boot 的诞⽣是为了简化 Spring 程序开发的。
SpringBoot的优点和不足
- 创建独立Spring应用:SpringBoot本身创建的也是一个Spring应用
- 内嵌web服务器:Spring的web项目需要打成war使用tomcat服务器运行,SpringBoot创建的应用自带服务器,无需再下载tomcat
- 自动starter依赖,简化构建配置:只需导入相关场景的依赖,其底层需要使用的各个jar包和版本都已经配置好了
- 自动配置Spring以及第三方功能:取代之前Spring的一系列对spring、SpringMVC、MyBatis的配置文件,直接上手编写业务代码
- 提供生产级别的监控、健康检查及外部化配置
- 无代码生成、无需编写XML
SpringBoot的不足
- 版本迭代更新太快,人称版本帝
- 封装的太深,内部原理复杂,不容易精通
Spring简单项目入门
前置准备
配置好国内源,防止下载速度过慢,耽误时间 修改conf目录下的settings.xml文件里的镜像和profiles
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
项目开始的第一步
在maven项目内的pom.xml文件里面添加SpringBoot相关依赖,配置完成后记得刷新一下maven,加载这些文件,并等待下载完毕后继续接下来的操作
<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>
项目开始的第二步
创建一个com.zxy的包,并在包里创建一个主程序入口MainApplication
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
}
## 项目第三步
> com.zxy.controller的包下,创建一个HelloController类
```js
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello() {
return "HelloWorld!!!";
}
}
项目开始的第三步
运行主程序入口的main方法,浏览器访问http://localhost:8080/hello 会出现一个HelloWorld!!!字符串的白色页面,说明你成功运行程序
项目的知识补充
- @SpringApplication:表明这是主程序类
- @RestController = @ResponseBody + @Controller
- @ResponseBody:不进行网页跳转而是返回一个字符串
- @Controller:表明此类是一个controller,用于和前端进行交互
- @RestController:表明这个类是一个controller类,用于和前端进行交互,且类中的所有方法不进行网页跳转而是返回一个字符串
- @RequestMapping:配置该方法的前端映射地址