-
SSM整合步骤多、配置繁琐
- 创建maven项目
- 部署mybatis:添加依赖、创建配置文件
- 部署Spring、SpringMvc:添加依赖。创建配置文件
- 添加整合依赖
- 整合配置
-
项目进行服务器部署步骤繁琐
- SpringBoot就是一个可以简化整合过程中复杂配置的框架
- 随着动态语言(go…)的流行,Java语言开发就显得格外笨重:配置繁琐、开发效率低、项目部署复杂、集成第三方难度大
- 这种情况下,SpringBoot油然而生
- SpringBoot采用“约定大于配置”的理念快速搭建项目的开发环境,我们无需或很少的配置就能将项目运行起来
- 快速搭建项目
- 对主流的开发框架都提供了无配置集成(SpringBoot内置了配置)
- 项目可独立运行、无需单独配置servlet容器(内置tomcat)
- 极大提高了开发、部署效率
- 提供了运行时监控(日志等)
- 与云原生有天然集成(比如Cloud必须基于Boot才能搭建)
- 由于配置都是内置的,报错时难以定位
- 版本迭代过快、有些版本改动比较大,增加学习成本
3.1 创建项目 3.1.1 新建项目 3.1.2 填写项目信息 3.1.3 选择项目依赖 3.1.4 选择项目存储目录,完成 -3.1.5 网页版创建SpringBoot体验:基于SpringBoot整合SpringMvc
SpringBoot应用需要依赖远程服务器进行创建
远程服务器:
- Spring官方:https://start.spring.io
- 阿里:https://start.aliyun.com
如果每次项目进去后,项目都是这个错误
那么直接去官方网站建项目
2.点击下载到本地
3.下载好后,将项目压缩包放到对应的文件夹下并压缩
4.然后idea直接open项目对应的路径即可
SpringBoot帮助我们完成通用性配置,但是数据库连接地址、账号、密码这些个性化配置要自己配置
-
修改mysql驱动版本(选择性)首先数据库默认版本可能是8的,所以只需在pom.xml找到数据库依赖,改成5的就行
-
在主配置文件application.properties中配置数据源和路径
#配置数据源 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应用
控制台底部出现这个,代表项目启动成功!
3.4 测试项目用一个注册用户方法来测试项目!
3.4.1 建表 3.4.2 实体类编写3.4.3 mapper层与mapper.xml的编写User
3.4.4 service层和serviceImpl的编写UserMapper
UserMapper.xml
3.4.5 controller层的编写UserService
UserServiceImpl
3.4.6 测试结果 3.4.7 ❤注意UserController
- 如果需要以json格式将数据返到前端,就得在controller加上@ResponseBody
- 如果要将添加时的id也回显进去,就得在xml的sql语句中加上userGeneratedKeys=true、keyProperty=“id的属性名(即实体类中id对应的属性名,不是数据库字段名)”
- 不加的话,就会前台页面回显的id=0;



