1.搭建基础的开发环境:
1.1.开发工具的介绍:
- 1.使用的IDEA 2020版
1.2.JDK安装:
- 1.安装JDK;查看jdk版本:
java -version
1.3.Maven安装:
- 1.安装Maven,查看Maven版本:
- 2.对Maven进行设置,设置自己对应的jdk版本:
- 3.使用IDEA整合自己的Maven:
2.创建Spring Boot项目的几种方式:
- 方式1.
手动创建Maven工程后修改为SpringBoot工程
- 方式2.基于IDEA本身的Spring Initializer来创建工程
- 方式3.基于SpringBoot
官网创建项目
- 方式4.
基于阿里云创建项目
2.1.方式1:创建Maven工程后修改为SpringBoot工程:
-
1.创建maven项目
-
2.在pom.xml中添加依赖,引入starters,
继承spring-boot-starter-parent
<!--导入springboot的父工程--是规定写法 --> <parent> <artifactId>spring-boot-starter-parent</artifactId> <groupId>org.springframework.boot</groupId> <version>2.5.2</version> </parent> <dependencies> <!--导入springboot的web 项目场景启动器,会自动导入和 web 开发相关依赖,非常方便 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.5.2</version> </dependency> </dependencies>
-
3.创建主程序,启动Spring Boot应用;要使用
@SpringBootApplication
来标注一个主程序类,说明这是一个Spring Boot应用
-
4.启动类中具体的代码:
/** 1. @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用 */ @SpringBootApplication public class HelloWorldMainApplication { public static void main(String[] args) { // Spring应用启动起来 // HelloWorldMainApplication.class 代表主程序类 SpringApplication.run(HelloWorldMainApplication.class,args); } }
-
5.编写相关的Controller、Service;Controller接受来自浏览器中的请求,然后调用service中的方法,这个我们就先只写了控制层
-
6.手动创建static,template,application目录和properities配置文件
-
7.启动运行,然后在浏览器中发送请求,运行主程序测试
http://localhost:8080/hello
-
8.简化部署:官网插件位置:插件依赖,然后执行package,就可以打包
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
2.2.方式2:使用Spring Initializer来创建项目:
- 1.使用Spring Initializer快速创建Spring Boot项目
- 2.IDEA:使用
Spring Initializer
快速创建项目
- 3.选择所需要的模块;向导会联网创建Spring Boot
- 4.默认生成的Spring Boot项目;
主程序已经生成好了
,我们只需要编写自己的逻辑 - 5.resources文件夹中目录结构
- static:
保存所有的静态资源
; js css images; - templates:
保存所有的模板页面
;(Spring Boot默认jar包使用嵌入式的Tomcat
,默认不支持JSP页面
);可以使用模板引擎(freemarker、thymeleaf)
; application.properties
:是Spring Boot应用的配置文件;可以修改一些默认设置
- static:
2.3.方式3:基于SpringBoot官网创建项目
- 1.项目创建地址:
https://start.spring.io/
;
- 2.点击SpringInitiallzr
- 3.生成项目,生成的项目压缩包可以解压,然后在IDEA中导入就可以了:
2.4.方式4:基于阿里云创建项目
- 1.阿里云地址:
https://start.aliyun.com
- 2.创建步骤就是:
选择start来源为自定义URL
为阿里云地址- 输入阿里云start地址,然后创建项目
- 3.注意:
- 阿里云提供的坐标版本较低,如果需要使用高版本,
进入工程后手工切换SpringBoot版本
- 阿里云提供的工程模板与Spring官网提供的工程模板略有不同
- 阿里云提供的坐标版本较低,如果需要使用高版本,
3.入门案例解析
3.1.parent说明(减少依赖冲突的作用)
- 1.开发SpringBoot程序要
继承spring-boot-starter-parent
,parent是所有SpringBoot项目要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),以达到减少依赖冲突的目的
- 2.spring-boot-starter-parent中
定义了若干个依赖管理
,spring-boot-starter-parent各版本间
存在着诸多坐标版本不同 - 3.继承parent模块
可以避免多个依赖使用相同技术时出现依赖版本冲突
,所有SpringBoot项目要继承的项目,就可以定义了若干个坐标版本号(依赖管理,而非依赖),从而以达到减少依赖冲突的目的
- 4.继承parent的形式也可以采用引入依赖的形式实现效果(阿里云创建项目的方式就是)
- 5.引用不同的boot版本,那么此时引入的
spring-boot-starter-parent
的各版本间存在着诸多坐标版本不同
3.2.starter说明(减少依赖配置的作用)
- 1.starter就是包含了
若干坐标定义的pom管理文件
,这一个 starter包含了若干个依赖信息
,如果这个starter使用其他的starter,那么这个starter它就会也自动的包含其他依赖的信息、这样我们就可以达到减少依赖配置的目的 - 2.在实际开发中:我们使用任意坐标时,我们就仅书写
GAV中的G和A
,V由SpringBoot提供
,除非SpringBoot未提供对应版本V,但是如果不写V的时候,发生坐标错误,那我们再指定Version(要小心版本冲突)
3.3.引导类 说明(@SpringBootApplication注解
)
- 1.总的来说,
parent和starter解决的是配置问题
,但是当程序运行的话,还是得需要引导类
来运行程序 - 2.
SpringBoot的引导类是SpringBoot工程的执行入口
,运行main方法就可以启动项目 - 3.
SpringBoot工程运行后初始化Spring容器,扫描引导类所在包,加载bean
- 4.
@SpringBootApplication
: @SpringBootApplication是 一 个 复 合 注 解
, 是 由@SpringBootConfiguration, @EnableAutoConfiguration ,@ComponentScan
联合在一起组成的。 - 5.@SpringBootConfiguration : 就 是 @Configuration 这 个 注 解 的 功 能 , 使 用
@SpringBootConfiguration 这个注解的类就是配置文件的作用
- 6.
@EnableAutoConfiguration
:开启自动配置, 把一些对象加入到 spring 容器中。 - 7.
@ComponentScan
:组件扫描器, 扫描注解,根据注解的功能,创建 java bean,给属性赋值等等。组件扫描器默认扫描的是 @ComponentScan 注解所在的类及其 类所在的包和子包
,@SpringBootApplication public class MySpringBootMain { public static void main(String[] args) { SpringApplication.run(MySpringBootMain.class,args); } }
- 8.在SpringBoot启动的时候,获取容器中的bean,它默认会获取这个配置类所在的包及其子包:
3.4.辅助功能说明
- 1.帮我们导入了其他依赖
- 2.使用maven依赖管理变更起步依赖项,比如变更内嵌服务器思想是去除现有服务器,添加全新的服务器
- 3.
Jetty比Tomcat更轻量级,可扩展性更强(相较于Tomcat),谷歌应用引擎(GAE)已经全面切换为Jetty
- 4.内嵌Tomcat服务器是SpringBoot辅助功能之一
- 5.内嵌Tomcat工作原理是
将Tomcat服务器作为对象运行,并将该对象交给Spring容器管理
4.模块的复制
4.1.根据模板模块进行开发:
a.模板模块的制作:
- 1.模块重命名:boot_one_xxxx
- 2.复制后去更改pom文件,
删除name和description两个标签
,更改aertfactId
:
- 3.
删除.imi
文件,删除target
目录,到此模板模块制作完成。
b.配置模快的开发:
- 1.下面是根据制作的模板来进行模块的开发:模块的名字是:
springboot_01_02_configuration
- 2更改
pom.xml
文件:
- 3.IDEA中导入模块
-4 .这样模块导入就成功了:我们运行来测试下:
- 5.在主运行类中,我们可以重构改名称,改不改都可以
4.2.为何有模块的复制:
- 1.因为有的时候我们创建项目,需要很多模块,那如果一个个的创建就很麻烦,所以就可以先创建个项目模板,根据这个模板来复制粘贴后面的模块