SpringBoot教程(一):初识SpringBoot
SpringBoot教程(二):Maven
SpringBoot教程(三):WIN10安装JDK8环境
SpringBoot教程(四):WIN10安装Maven环境
SpringBoot教程(五):搭建SpringBoot项目的3种姿势
目录
前言
一、在线搭建
二、IDEA Spring Initializr方式
三、Maven方式
四、SpringBoot项目结构介绍
src 目录
Application类
resources目录
POM文件
总结
前面几章节我们简单的介绍了下SpringBoot、Maven的基础知识,以及开发基础环境的搭建。接下来我们就开始进入到SpringBoot的学习。
本章节主要介绍搭建SpringBoot项目的3种方式。
官方给我们提供了Spring Initializr在线的方式创建SpringBoot项目,在界面上进行一系列的配置后就会帮我们生成SpringBoot项目。
网址:https://start.spring.io/,初始化界面如下:
几个关键选项:
接下来,我们按照自己的需求配置一下:
然后点击底部的「generate」按钮,就会生成一个 Spring Boot 初始化项目的压缩包。然后解压,导入到开发工具中即可。
上面的方式是使用Spring Initializr在线方式创建,我们也可以通过IDEA Spring Initializr的方式来创建,方式大同小异,只是从页面配置换成了在IDEA里配置。
配置方式:
File-->New-->Project-->选择Spring Initializr
点击 Next ,填入项目的基本信息,参照方案一就可以
勾选所需依赖
然后点击Next,即可完成项目的搭建。
上面提到的2种方式,实际上都是借助了 https://start.spring.io/ 这个网站,这个方式以前不是很稳定,所以我们也可以直接使用 Maven 来创建项目。手动添加所需POM依赖,启动类等等。本人都是使用这个方式,因为创建出来的项目比较干净。创建步骤如下:
创建一个 Maven 项目:
注意:不用选择项目骨架,这样会自动引入很多jar包,但是有很多我们可能不需要,会导致项目骄较大,所以创建完项目之后手动添加依赖就可以。
填入 Maven 信息:
点击 Finish 就完成 Maven 项目的创建。
创建完成后,在 pom.xml 文件中,添加如下依赖:
org.springframework.boot
spring-boot-starter-parent
2.3.3.RELEASE
org.springframework.boot
spring-boot-starter
添加完成后在 java 目录下创建启动类:
package com.liberty;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
然后执行这个main方法启动或者idea启动就可以:
是我们最熟悉的, 里面放的是Java 代码和配置文件,pom.xml 是 Maven 的坐标文件。
@SpringBootApplication注解是springboot的核心注解,主要作用是开启spring自动配置。这个注解相当于下面三个注解:
@Configuration 允许将其他@bean注解标识的类加入到spring容器中,相当于spring配置文件中的beans标签
@EnableAutoConfiguration 启动自动配置
@ComponentScan 会自动扫描当前包和子包下的标有@Component,@Service,@Repository,@Controller的类,相当于以前spring配置文件中的context:component-scan
main方法中的SpringApplication.run在启动的时候会启动内嵌的tomcat容器。
spring boot默认会自动扫描application类的子包或者是平级的类,如果是高于application的话就无法扫描到。
application.yml是SpringBoot配置文件
pom.xml是Maven的依赖配置文件
以上就是创建SpringBoot项目的三种方式,一般使用第三种方式,比较简单快捷,引入包也会很干净。