本篇内容:SpringBoot快速上手——这个快速上手不一样哦!教会的是方法不是技术~
文章专栏:SpringBoot微服务 其原理与项目开发
最近更新:2022年1月25日 SpringBoot 与 SpringMVC进行整合扩展 不讲技术只讲学习方法 一文吃透学习框架技巧~
更新周期:2022年1月24日 ~ 2022年1月25日
个人简介:一只二本院校在读的大三程序猿,本着注重基础,打卡算法,分享技术作为个人的经验总结性的博文博主,虽然可能有时会犯懒,但是还是会坚持下去的,如果你很喜欢博文的话,建议看下面一行~(疯狂暗示QwQ)
点赞 收藏 ⭐留言 一键三连 关爱程序猿,从你我做起
学过SSM框架的同学在学习SpringBoot之后都会给出一致的好评
!这是为什么呢?
SSM项目开发的缺点
众所周知
,SSM项目整合
时,经常被咱们称之为配置地狱
,SSM框架最惹人恼的地方就是在于他的配置太过于繁琐
,很多东西都需要自己手动配置
,才能进行生效
,虽然有注解替我们简化了部分开发
,但是底部依赖的配置文件还是太多
,比如说管理mybatis的mybatis-config.xml
,spring整合mybatis的spring-mybatis.xml
等等这一系列的配置文件
,让我们在写项目前就要准备很长时间
,花费大量时间配置相同的东西
,就是浪费时间。
大量maven依赖
的配置冗余
大量相同配置文件极大浪费了项目开发时间
第三方技术
都需要编写相关配置文件
需要部署tomcat
这个服务猫SpringBoot是什么?
简单来讲SpringBoot就和Vue概念上差不多
,只不过一个是JavaSpring的快速开发脚手架
,而Vue是一个前端页面的快速开发脚手架
,其通过了约定大于配置
的方式,快速构建和启动了Spring项目。
SpringBoot的特点以及其是如何解决SSM框架开发的弊端
快速开发Spring应用的框架
内嵌了tomcat服务器
,无需额外
再配置
整合服务器。细化并且简化了maven配置
,可以通过父pom.xml
来引入对应的maven仓库
。快速整合流行框架
通过引入 spring-boot-starter-xxx
来快速整合。小结:SpringBoot就是一个Spring快速开发的脚手架,按照约定大于配置的规定,优化了繁琐的配置工作以及项目的依赖管理,而且集成了内嵌tomcat无需额外配置,直接运行即可。
通过HelloSpringBoot程序进行快速上手
步骤1:创建一个空的项目用于学习
此时你会得到一个空的项目工程
步骤2:创建Maven工程 导入SpringBoot的父工程依赖
得到了如图所示的Maven工程
,接着这个来配置pom.xml
来管理对应的依赖
。
<parent>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-parentartifactId>
<version>2.6.3version>
parent>
对当前项目所依赖的父工程项目仓
库进行了配置。为什么呢?SpringBoot的官方告诉了你,学习技术还是要根据官方文档来
,学会看官方文档真的很重要
~
SpringBoot 官方学习文档:Spring Boot 官方下载与参考文献
进入当前页面之后,你大致可以看到了有关于SpringBoot的所有学习板块了
找到我们当前所需要进行学习的板块,快速进行搭建。
简而言之前面都是告诉我们如何配置SpringBoot的基本环境搭建
,例如Jdk,Maven等…
开始还是要看4.Developing Your First Spring Boot Application
开发属于自己的第一个SpringBootApplication
。
学习之前需要检查环境是否配置成功
PS H:\springboot入门及源码\SpringBootDemo> java -version
java version "1.8.0_301"
Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)
PS H:\springboot入门及源码\SpringBootDemo> mvn -v
Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d)
Maven home: F:\apache-maven-3.8.1\bin\..
Java version: 1.8.0_301, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_301\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
这是官方给出的这里,他依赖了Spring-boot-starter-parent父Maven工程仓库
为什么依赖这个了呢
?SpringBoot依赖了他之后干了些什么
?自动装配原理
?又是什么?如何彻底了解SpringBoot程序
当中的pom.xml文件到底干了啥
?
需要了解,请看这篇文章
SpringBoot的自动装配原理——其实真得就是你想的那么简单~
如果你已经看完了上述那么接下来操作就如鱼得水,信手拈来了~
说白了,你看到了这里就知道了pom.xml中的Spring-boot-starter-parent
实际就干了一件事情,帮我们管理SpringBoot中的依赖管理
的同时也将所有大多数我们未来可能需要进行的配置依赖都加载在仓库当中
了。
<dependencies>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
dependency>
dependencies>
按照他给的操作添加spring-boot-starter-web
依赖,pom.xml文件会自动去父工程的Maven仓库中去寻找需要安装的版本,进行依赖管理。
进行了上述操作现在的pom.xml文件
<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.0modelVersion>
<parent>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-parentartifactId>
<version>2.6.3version>
parent>
<groupId>com.alascanfugroupId>
<artifactId>SpringBootDemoartifactId>
<version>1.0-SNAPSHOTversion>
<properties>
<java.version>1.8java.version>
properties>
<dependencies>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
dependency>
dependencies>
project>
上述中顺便对jdk版本也进行了设置
官方是依赖了一个@EnableAutoConfiguration这个注解来进行对SpringBootApplication程序进行的启动,但是读过源码的同学都知道这个注解不过是@SpringBootApplication注解组合注解之一。
所以我们可以写出:
Application.java
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
官网同时也给出了 主线程中的 这个方法的简单解释
.
我们这里稍微瞟一眼
public static ConfigurableApplicationContext run(Class<?> primarySource, String... args) {
return run(new Class[]{primarySource}, args);
}
这个run方法的第一个参数,是作为主要启动源的类,第二个参数是启动源类中的参数
。
细致分析,有空的话小付会更新的。
这样一个启动类就已将完成啦~
控制台打印下述则证明启动成功~
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.6.3)
2022-01-25 15:37:35.017 INFO 17144 --- [ main] com.alascanfu.Application : Starting Application using Java 1.8.0_301 on DESKTOP-85NIFSS with PID 17144
再次期间我们可以对我们SpringBoot的Controller层进行对应的配置再进行测试
官网提到了@RestController and @RequestMapping 这两个注解这里不再多说了,个人去理解一下。
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "Hello,SpringBoot~";
}
}
非常简单的Controller 用于进行咱们第一个SpringBoot程序
的测试,如此一来入门SpringBoot程序的官方文档的学习就基本告一段落了
。进行测试,检查是否如我们所想~
http://localhost:8080/hello
okk大功告成~
这也算入门了SpringBoot程序的搭建了,后续学习按照官方文档来就好了,初学者可以根据部分大佬的视频进行快速学习
,但是二刷时候
,希望能提高自身的学习能力
,自己尝试阅读官方文档
知识进行细致学习
,学到了就是真正的掌握到自身的了
,加油!