02_SpingBoot 入门案例
1. 创建一个空项目Empty Project
2. 项目文件名为 SpringBoot
3. 选择Create创建即可
4. 选择 File --》New --》Moudle 创建模块
5. 选择命名该项目相关联的信息配置
6. 选择 Web --》Spring Web
7. 项目结构介绍
(1) .mvn|mvnw|mvnw.cmd:使用脚本操作执行maven相关命令,国内使用较少,可删除
(2) .gitignore:使用版本控制工具git的时候,设置一些忽略提交的内容
(3) static|templates:后面模板技术中存放文件的目录
static:放一些静态内容 css js img
templates:基于模板的html
(4) application.properties:SpringBoot的配置文件,很多集成的配置都可以在该文件中进行配置,例如:Spring、springMVC、Mybatis、Redis等。目前是空的
(5) Application.java:SpringBoot程序执行的入口,执行该程序中的main方法,SpringBoot就启动了,自动启动内置tomcat运行
8. 介绍 SpringBoot 启动入口类
9. pom.xml 默认自动配置详情介绍
<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--继承SpringBoot框架的一个父项目,所有自己开发的Spring Boot都必须的继承-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!--当前项目的GAV坐标-->
<groupId>com.suke.springboot</groupId>
<artifactId>springboot-first</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!--maven项目名称,可以删除-->
<name>001-springboot-first</name>
<!--maven项目描述,可以删除-->
<description>001-springboot-first</description>
<!--maven属性配置,可以在其它地方通过${}方式进行引用-->
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--SpringBoot框架web项目起步依赖,通过该依赖自动关联其它依赖,不需要我们一个一个去添加了-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--SpringBoot框架的测试起步依赖,例如:junit测试,如果不需要的话可以删除-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<!--修建:编译-->
<build>
<!--编译哪个资源-->
<resources></resources>
<!--插件-->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.7.0</version>
</plugin>
</plugins>
</build>
</project>
10. 运行输入localhost:9001/001-springboot-first/springBoot/say显示成功
11. 入门案例总结分析
Spring Boot的父级依赖spring-boot-starter-parent配置之后,当前的项目就是Spring Boot项目
spring-boot-starter-parent是一个Springboot的父级依赖,开发SpringBoot程序都需要继承该父级项目,它用来提供相关的Maven默认依赖,使用它之后,常用的jar包依赖可以省去version配置
Spring Boot提供了哪些默认jar包的依赖,可查看该父级依赖的pom文件
如果不想使用某个默认的依赖版本,可以通过pom.xml文件的属性配置覆盖各个依赖项,比如覆盖Spring版本
<properties>
<spring.version>5.0.0.RELEASE</spring.version>
</properties>
@SpringBootApplication注解是Spring Boot项目的核心注解,主要作用是开启Spring自动配置,如果在Application类上去掉该注解,那么不会启动SpringBoot程序
main方法是一个标准的Java程序的main方法,主要作用是作为项目启动运行的入口
@Controller 及 @ResponseBody 依然是我们之前的Spring MVC,因为Spring Boot的里面依然是使用我们的Spring MVC + Spring + MyBatis 等框架
相关文章
- SpringMVC——SpringMVC 的入门案例
- python小案例-计算输入两个数的最大公约数与最小公倍数
- Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
- 机器学习笔记 - 探索性数据分析(EDA) 入门案例四
- 机器学习笔记 - 探索性数据分析(EDA) 入门案例二
- 机器学习笔记 - 探索性数据分析(EDA) 入门案例一
- Ansible 入门案例
- Java案例-用户注册邮箱验证将邮箱激活码存入redis功能实现
- Freemarker 页面静态化技术使用入门案例
- Spring Data ElasticSearch入门案例
- reactjs redux集中式状态管理最简入门案例
- js全局计时器的案例
- Py之GUI之PyQt:PyQt的简介、入门、安装(QtCreator/QtDesigner安装图文教程)、经典案例之详细攻略
- CV之IPE之DNN:基于OpenPose和OpenCV利用DNN算法的.pb文件实现对视频单个体进行实时姿态估计检测(以詹姆斯扣篮+美女跳舞为例)案例应用
- DL之YoloV2:Yolo V2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
- Py之GUI之PyQt:PyQt的简介、入门、安装(QtCreator/QtDesigner安装图文教程)、经典案例之详细攻略
- Python:魔术方法(__getitem__、__len__等包含双下划线构成的方法)的简介、使用案例之详细攻略
- Python语言学习之图表可视化:python语言中可视化工具包的简介、安装、使用方法、经典案例之详细攻略
- Java递归基础案例-汉诺塔
- 〖大前端 - 基础入门三大核心之CSS篇㉔〗- 动画效果与实战小案例
- y161.第九章 GitOps从入门到精通 -- Tekton Trigger实战案例(十)
- y159.第九章 GitOps从入门到精通 -- 实战案例Source-2-Image(八)
- y133.第七章 服务网格与治理-Istio从入门到精通 -- Istio认证及配置案例(十九)
- y132.第七章 服务网格与治理-Istio从入门到精通 -- Istio认证及配置案例(十八)
- y52.第三章 Kubernetes从入门到精通 -- k8s实战案例(二五)
- y49.第三章 Kubernetes从入门到精通 -- k8s实战案例(二二)
- css案例17——圆角头像
- jquery案例2——点击事件添加样式、鼠标经过事件、鼠标离开事件、一组、多组样式
- 【SPSS】多选项分析详细操作教程(附案例实战)
- XAI/ML之LIME:可解释性之SP-LIME的简介、原理、使用方法、经典案例之详细攻略
- 【深度学习入门案例】动物种类识别
- 【深度学习入门案例】LAC词法分析
- 史上最全的2022年最新版软件测试面试题集锦(含答案+案例分析),再战金九银十
- Python开发入门到精通之11个案例讲透 Python 函数参数