【深度讲解系列】SpringBoot入门

87 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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:配置该方法的前端映射地址