# 教你优雅的入门Spring Boot2.x
**如果觉得不错就点击右上角star鼓励一下笔者吧(#^.^#)**
**技术栈**
* 后端: SpringBoot2.x + Mybatis
* 前端: Vue.JS2.x + ElementUI
**测试环境**
* IDEA + SpringBoot-2.0.5
**启动说明**
* 启动前,请配置好 [application.yml](https://github.com/TyCoding/spring-boot/blob/master/src/main/resources/application.yml) 中连接数据库的用户名和密码,以及Redis服务器的地址和端口信息。
* 启动前,请创建数据库`seckill`,建表SQL语句放在:[/db/sys_schema.sql](https://github.com/TyCoding/spring-boot/blob/master/db/sys_schema.sql)。具体的建表和建库语句请仔细看SQL文件。
* 配置完成后,运行位于 `src/main/cn/tycoding/`下的SpringbootApplication中的main方法,访问 `http://localhost:8080/` 进行API测试。
**项目设计**
```
.
├── README
├── README.md
├── db
├── mvnw
├── mvnw.cmd
├── pom.xml
├── spring-boot.iml
├── src
│ ├── main
│ │ ├── java
│ │ │ └── cn
│ │ │ └── tycoding
│ │ │ ├── SpringbootApplication.java -- Spring Boot启动器类
│ │ │ ├── controller -- MVC-WEB层
│ │ │ ├── entity -- 实体类
│ │ │ ├── interceptor -- 自定义拦截器
│ │ │ ├── mapper -- mybatis-Mapper层映射接口,或称为DAO层
│ │ │ └── service -- service业务层
│ │ └── resources -- Spring Boot资源文件目录
│ │ ├── application.yml -- Spring Boot核心配置文件
│ │ ├── mapper -- Mybatis Mapper层XML配置文件
│ │ ├── static -- 前端静态文件(主要是JS、CSS、Image文件,一般不放HTML页面)
│ │ │ ├── css
│ │ │ ├── image
│ │ │ ├── js
│ │ │ ├── lib
│ │ └── templates -- Thymeleaf模板引擎识别的HTML页面目录,存放HTML页面(相当于之前的WEB—INF目录,即不能通过浏览器直接访问)
│ └── test
```
# 准备
开始实战Spring Boot项目,首先,你需要将Spring Boot工程搭建出来。
Spring Boot工程搭建请看我的博客:[Spring Boot入门之工程搭建](http://tycoding.cn/2018/09/28/spring-boot/)
## Spring Boot应用启动器
Spring Boot提供了很多应用启动器,分别用来支持不同的功能,说白了就是`pom.xml`中的依赖配置,因为Spring Boot的自动化配置特性,我们并不需再考虑项目依赖版本问题,使用Spring Boot的应用启动器,它能自动帮我们将相关的依赖全部导入到项目中。
我们这里介绍几个常见的应用启动器:
* `spring-boot-starter`: Spring Boot的核心启动器,包含了自动配置、日志和YAML
* `spring-boot-starter-aop`: 支持AOP面向切面编程的功能,包括spring-aop和AspecJ
* `spring-boot-starter-cache`: 支持Spring的Cache抽象
* `spring-boot-starter-artermis`: 通过Apache Artemis支持JMS(Java Message Service)的API
* `spring-boot-starter-data-jpa`: 支持JPA
* `spring-boot-starter-data-solr`: 支持Apache Solr搜索平台,包括spring-data-solr
* `spring-boot-starter-freemarker`: 支持FreeMarker模板引擎
* `spring-boot-starter-jdbc`: 支持JDBC数据库
* `spring-boot-starter-Redis`: 支持Redis键值储存数据库,包括spring-redis
* `spring-boot-starter-security`: 支持spring-security
* `spring-boot-starter-thymeleaf`: 支持Thymeleaf模板引擎,包括与Spring的集成
* `spring-boot-starter-web`: 支持全栈式web开发,包括tomcat和Spring-WebMVC
* `spring-boot-starter-log4j`: 支持Log4J日志框架
* `spring-boot-starter-logging`: 引入Spring Boot默认的日志框架Logback
## Spring Boot项目结构设计
Spring Boot项目(即Maven项目),当然拥有最基础的Maven项目结构。除此之外:
1. Spring Boot项目中不包含webapp(webroot)目录。
2. Spring Boot默认提供的静态资源目录需要置于classpath下,且其下的目录名称要符合一定规定。
3. Spring Boot默认不提倡用XML配置文件,主张使用YML作为配置文件格式,YML有更简洁的语法。当然也可以使用.properties作为配置文件格式。
4. Spring Boot官方推荐使用Thymeleaf作为前端模板引擎,并且Thymeleaf默认将templates作为静态页面的存放目录(由配置文件指定)。
5. Spring Boot默认将`resources`作为静态资源的存放目录,存放前端静态文件、项目配置文件。
6. Spring Boot规定`resources`下的子级目录名要符合一定规则,一般我们设置`resources/static`为前端静态(JS,CSS)的存放目录;设置`resources/templates`作为HTML页面的存放目录。
7. Spring Boot指定的Thymeleaf模板引擎文件目录`/resources/templates`是受保护的目录,这与之前的WEB项目的WEB-INF文件夹和类似,特点就是里面的静态资源不能直接访问,一般我们通过Controller映射访问。
8. 建议将Mybatis-Mapper的XML映射文件放于`resources/`目录下,我这里设为`resources/mapper`目录,且`src/main/java/Mapper`下的Mapper层接口要使用`@Mapper`注解标识,不然mybatis找不到接口对应的XML映射文件。
9. `SpringBootApplication.java`为项目的启动器类,项目不需要部署到Tomcat上,由SpringBoot提供的服务器部署项目(运行启动器类即可);且SpringBoot会自动扫描该启动器同级和子级下用注解标识的Bean,也就是之前我们配置的`<context:component-scan>`在SpringBoot中是完全不需类似的配置的。
10. Spring Boot不建议使用JSP页面,如果想使用,请自行百度解决办法。我们常用HTML页面+Thymeleaf模板引擎。Thyemeleaf模板引擎提供了很多内置语法,比如:可以通过`<div th:text="${xx}">`取出来后端存放在域对象中的数据。
11. 上面说了Spring Boot提供的存放HTML静态页面的目录`resources/templates`是受保护的目录,访问其中的HTML页面要通过Controller映射,这就间接规定了你需要配置Spring的视图解析器,且Controller类不能使用`@RestController`标识。
# 起步
*首先:* **我想特殊强调的是:SpringBoot不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式**。一定要切记这一点。
学习SpringBoot框架,只是为了更简便的使用Spring框架,我们在SSM阶段学习的知识现在放在Spring Boot框架上开发是完全适用的,我们学习的大多数是SpringBoot的自动化配置方式。
因为Spring Boot框架的一大优势就是自动化配置,从pom.xml的配置中就能明显感受到。
所以这里推荐一下我之前的SSM阶段整合项目: [SSM详细入门整合案例](https://github.com/TyCoding/ssm) [SSM+Redis+Shiro+Solr+Vue.js整合项目](https://github.com/TyCoding/ssm-redis-solr)
## 项目依赖
本项目的依赖文件请看Github仓库:[spring-boot/pom.xml](https://github.com/TyCoding/spring-boot/blob/master/pom.xml)
## 初始化数据库
本项目数据库表设计请看GitHub仓库:[spring-boot/db/](https://github.com/TyCoding/spring-boot/tree/master/db)
请运行项目前,先把数据库表结构建好
## SpringBoot整合Mybatis
之前已经说过:**SpringBoot框架不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式**
所以说,SpringBoot整合Mybatis的思想和Spring整合Mybatis的思想基本相同,不同之处有两点:
* 1.Mapper接口的XML配置文件变化。之前我们使用Mybatis接口代理开发,规定Mapper映射文件要和接口在一个目录下;而这里Mapper映射文件置于
没有合适的资源?快使用搜索试试~ 我知道了~
SpringBoot+Vue+ElementUi前后端分离商品管理项目.zip
共855个文件
js:379个
css:157个
scss:93个
0 下载量 84 浏览量
2024-08-12
11:28:05
上传
评论
收藏 4.88MB ZIP 举报
温馨提示
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全栈开发),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助 【资源内容】:项目具体内容可查看/点击本页面下方的*资源详情*,包含完整源码+工程文件+说明(若有)等 【本人专注计算机领域】:有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为您提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【适合场景】:相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可基于此项目来扩展开发出更多功能 #注 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担 2. 部分字体及插图等来自网络,若是侵权请联系删除,本人不对所涉及的版权问题或内容负法律责任。收取的费用仅用于收集和整理资料耗费时间的酬劳
资源推荐
资源详情
资源评论
收起资源包目录
SpringBoot+Vue+ElementUi前后端分离商品管理项目.zip (855个子文件)
mvnw.cmd 5KB
index.css 193KB
index.css 193KB
font-awesome.min.css 32KB
transfer.css 26KB
transfer.css 26KB
date-picker.css 26KB
date-picker.css 26KB
col.css 25KB
col.css 25KB
message-box.css 20KB
message-box.css 20KB
time-picker.css 20KB
time-picker.css 20KB
table.css 19KB
table.css 19KB
pagination.css 19KB
pagination.css 19KB
slider.css 16KB
slider.css 16KB
tabs.css 16KB
tabs.css 16KB
select.css 15KB
select.css 15KB
dropdown.css 14KB
dropdown.css 14KB
time-select.css 13KB
time-select.css 13KB
tree.css 13KB
tree.css 13KB
upload.css 12KB
upload.css 12KB
button.css 10KB
button.css 10KB
table-column.css 10KB
table-column.css 10KB
cascader.css 10KB
cascader.css 10KB
autocomplete.css 9KB
autocomplete.css 9KB
input-number.css 9KB
input-number.css 9KB
menu.css 9KB
menu.css 9KB
base.css 7KB
base.css 7KB
color-picker.css 7KB
color-picker.css 7KB
checkbox.css 7KB
checkbox.css 7KB
demo.css 6KB
input.css 6KB
input.css 6KB
step.css 5KB
step.css 5KB
collapse.css 5KB
collapse.css 5KB
iconfont.css 4KB
icon.css 4KB
icon.css 4KB
radio.css 3KB
radio.css 3KB
form.css 3KB
form.css 3KB
select-dropdown.css 3KB
select-dropdown.css 3KB
dialog.css 3KB
dialog.css 3KB
tooltip.css 3KB
tooltip.css 3KB
radio-button.css 2KB
radio-button.css 2KB
index.css 2KB
popover.css 2KB
popover.css 2KB
carousel.css 2KB
carousel.css 2KB
tag.css 2KB
tag.css 2KB
message.css 2KB
message.css 2KB
progress.css 2KB
progress.css 2KB
switch.css 2KB
switch.css 2KB
loading.css 2KB
loading.css 2KB
notification.css 2KB
notification.css 2KB
popper.css 2KB
popper.css 2KB
alert.css 1KB
alert.css 1KB
goods.css 1KB
carousel-item.css 1024B
carousel-item.css 1024B
scrollbar.css 1023B
scrollbar.css 1023B
breadcrumb.css 1009B
breadcrumb.css 1009B
共 855 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
资源评论
热爱技术。
- 粉丝: 2597
- 资源: 7860
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 刘佳怡求职简历.pdf
- Torchserve 服务器使用在 docker 上运行的 YoloV5 模型,使用 GPU 和静态批量推理来执行生产就绪和实时推理 .zip
- Ultralytics yolov8 简单高效使用.zip
- 上期技术期货交易api之python封装,实现接口调用 支持windows linux x64
- 上市公司绿色化转型(2007-2022年).zip
- ultralytics,yolov5 的打包版本 + 许多额外功能.zip
- 基于Spring Boot的志愿服务管理平台
- winform窗体传值案例.zip,子窗体传给父窗体,委托传值案例
- 多进程mysql,和传统mysql Server 不同,实现也不同,采用逻辑是先内存后磁盘,采用单个数据文件存储方式
- 基于SpringBoot的在线外卖系统的设计与实现源码+数据库(java毕业设计)
- win10 vs2017 qt-demo yolov4.zip
- day01.[环境变量,HelloWorld].md
- MinGW环境下编译CEF库
- 1.linux系统编程:文件,进程 2.linux网络编程
- xView 2018 物体检测挑战YOLOv3 训练和推理 .zip
- Revit官方转gltf的插件
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功