SpringBoot
一、SSM项目整合与部署存在的问题
1.1 SSM项目手动整合存在的问题
-
SSM整合步骤多、配置繁琐
- 创建maven项目
- 部署mybatis:添加依赖、创建配置文件
- 部署Spring、SpringMvc:添加依赖。创建配置文件
- 添加整合依赖
- 整合配置
-
项目进行服务器部署步骤繁琐
1.2 如何简化这些繁琐配置和部署步骤
- SpringBoot就是一个可以简化整合过程中复杂配置的框架
二、SpringBoot简介
2.1 概念
- 随着动态语言(go…)的流行,Java语言开发就显得格外笨重:配置繁琐、开发效率低、项目部署复杂、集成第三方难度大
- 这种情况下,SpringBoot油然而生
- SpringBoot采用“约定大于配置”的理念快速搭建项目的开发环境,我们无需或很少的配置就能将项目运行起来
2.2 优点
- 快速搭建项目
- 对主流的开发框架都提供了无配置集成(SpringBoot内置了配置)
- 项目可独立运行、无需单独配置servlet容器(内置tomcat)
- 极大提高了开发、部署效率
- 提供了运行时监控(日志等)
- 与云原生有天然集成(比如Cloud必须基于Boot才能搭建)
2.3 缺点
- 由于配置都是内置的,报错时难以定位
- 版本迭代过快、有些版本改动比较大,增加学习成本
三、第一个SpringBoot应用
体验:基于SpringBoot整合SpringMvc
SpringBoot应用需要依赖远程服务器进行创建
远程服务器:
- Spring官方:https://start.spring.io
- 阿里:https://start.aliyun.com
3.1 创建项目
3.1.1 新建项目
3.1.2 填写项目信息
3.1.3 选择项目依赖
3.1.4 选择项目存储目录,完成
-3.1.5 网页版创建SpringBoot
如果每次项目进去后,项目都是这个错误 那么直接去官方网站建项目
2.点击下载到本地 3.下载好后,将项目压缩包放到对应的文件夹下并压缩 4.然后idea直接open项目对应的路径即可
3.2 配置项目
3.2.1 应用项目结构
3.2.2 自定义配置(整合Mybatis)
SpringBoot帮助我们完成通用性配置,但是数据库连接地址、账号、密码这些个性化配置要自己配置
#配置数据源
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/zerofashion_boot?characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=123456
#配置映射文件路径及实体类包名
mybatis.mapper-locations=classpath:mappers/*Mapper.xml
mybatis.type-aliases-package=com.yty.springboot.demo1.entity
?? : 只要是涉及到自定义的文件或者文件夹,都需要自己配置。不然SpringBoot不认识它,只有配置了,它才会在启动时加载这些文件或者文件夹
- 在SpringBoot启动类通过
@MapperScan 注解指定DAO接口的包名
@SpringBootApplication
@MapperScan("com.yty.springboot.demo1.dao")
public class SpringbootDemo1Application {
public static void main(String[] args) {
SpringApplication.run(SpringbootDemo1Application.class, args);
}
}
即实体类在主配置文件中配置,dao在主程序类上用注解@MapperScan+包名即可配置。
3.3 启动项目
SpringBoot自带servlet容器–Tomcat,因此无需进行额外的服务器配置,运行启动类即可启动一个SB应用
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YhsTneok-1634225818994)(C:\Users\杨天宇\AppData\Roaming\Typora\typora-user-images\1634210973717.png)]
控制台底部出现这个,代表项目启动成功!
3.4 测试项目
用一个注册用户方法来测试项目!
3.4.1 建表
3.4.2 实体类编写
User
3.4.3 mapper层与mapper.xml的编写
UserMapper UserMapper.xml
3.4.4 service层和serviceImpl的编写
UserService UserServiceImpl
3.4.5 controller层的编写
UserController
3.4.6 测试结果
3.4.7 ?注意
- 如果需要以json格式将数据返到前端,就得在controller加上@ResponseBody
- 如果要将添加时的id也回显进去,就得在xml的sql语句中加上userGeneratedKeys=true、keyProperty=“id的属性名(即实体类中id对应的属性名,不是数据库字段名)”
|