SpringBoot详细教程(持续更新中...)

SpringBoot

文章目录

一、理论

1.1、概述

Springboot有哪些特点呢?或者说它跟Spring比有哪些优点呢?

1、起步依赖

通俗的说,就是一个依赖包含了很多个依赖;好处是引入所需的依赖更加简便,而且有效避免了依赖之间的版本冲突问题;比方说做一个Spring项目,我们要引入下面这些依赖,

而用Springboot框架构建项目,只需要引入spring-boot-starter-web依赖即可,因为这个依赖包括上面的所有依赖。

其实starter就是起步的意思,所以称这种依赖为起步依赖

2、自动配置

就是说依赖中包含了与之相关的Bean,不需要再去声明与之相关的Bean;比方说,Spring整合mybatis,就需要先引入mybatis的依赖,

再去配置相关的Bean:SqlSessionFactoryBean和MapperScannerConfigurer这两个Bean,这才算是整合完成;

而Springboot只需引入mybatis的起步依赖即可完成整合mybatis,因为这个起步依赖的内部已经配置好上面说的那两个Bean了,无需再配置Bean了,这就是自动配置。

3、其他特性

  • 内嵌Tomcat、Jetty(不需要再另外部署Tomcat或Jetty这种服务器软件,也无需部署war文件,使用Springboot直接将项目打成jar包部署即可)
  • 外部化配置(部署之后若想再修改配置,无需修改完配置再打包重新部署,直接修改外部的配置文件即可,可参考博客:Springboot加载外部配置文件的方法)
  • 不需要xml配置(properties/yml)

1.2、入门

因为Springboot主要就是做web应用的,所以能够创建一个web应用,浏览器可以正常访问就算是入门了;步骤如下:

1、创建Maven工程

2、导入web的起步依赖:spring-boot-starter-web

选择依赖并创建项目后自动会将所选依赖配置在pom文件中

细心的你会发现,起步依赖并没有配置版本号,那是因为Springboot项目都会直接或间接的继承spring-boot-starter-parent这个父工程,它用于管理起步依赖的版本,也就不需要我们再管理起步依赖的版本了。

3、编写Controller

4、运行启动类

5、浏览器访问

学到这里,恭喜你已经入门了!

1.3、手动创建Springboot项目

入门中我们是用idea提供的插件创建的Springboot项目,倘若没有这个插件呢,我们如何手动创建Springboot项目呢?其实也非常简单。

1、创建Maven工程

2、引入依赖:父工程起步依赖和web起步依赖

3、将创建项目后自动生成的APP类改成启动类的名字,并将内容也改写成Springboot的启动类

4、手动在main目录下创建resources目录

会有提示,选择resources即可

5、resources目录下手动创建配置文件

输入名称即可

6、编写Controller,启动项目,浏览器就可以访问了

二、实战

-- 更新至2025年4月1日,持续更新中...

相关推荐
EatFan3 小时前
Spring Boot 4 落地观察:从 yudao-cloud、matecloud、JPower 看国产脚手架的升级路线与迁移清单
java·spring boot·后端·spring cloud·微服务·后端开发·jdk 21
Maiko Star3 小时前
* LangChain 提示词模板详解:ChatPromptTemplate 的使用与高级特性
java·人工智能·langchain
波力海苔夹心脆6754 小时前
C# 序列化与反序列化详解:System.Text.Json、Newtonsoft.Json、XmlSerializer 用法、特性选项与安全实践
经验分享·后端·c#·json·.net
现任明教教主~5 小时前
Thinkphp站群蜘蛛池SaaS系统YanyvSEO含多用户/积分/六大引擎计费/易支付对接
java·开发语言·spring
JavaGuide5 小时前
NVIDIA 又开源了!这次给 AI Agent 加上权限管控
前端·后端
excel5 小时前
prisma 如何处理数据库竞态
前端·数据库·后端
一条破秋裤6 小时前
Linux 线程创建:pthread_create 与基本回收
java·linux·运维
布吉岛的石头6 小时前
Java 程序员第 49 阶段5:BERT 预训练目标 MLM+NSP 的工程含义
java·人工智能·深度学习·bert·transformer
摇滚侠7 小时前
《On Java 中文版 基础卷》阅读笔记 对象无处不在 03
java·笔记·python