一、项目整合与部署存在的问题
1.1 SSM手动整合存在的问题
-
SSM整合步骤多、配置繁琐
-
项目进行服务器部署步骤繁琐
1.2 如何简化这些繁琐的配置和部署步骤?
- SpringBoot就是一个可以简化整合过程中复杂配置的框架
二、SpringBoot简介
2.1 概念
- 随着动态语言的流行,Java语言的开发就显得格外笨重:配置繁琐、开发效率低、项目的部署变得复杂、集成第三方技术难度大。
- 在这种情况下,SpringBoot就应运而生。
- SpringBoot采用了
习惯优于配置/约定大于配置
的理念快速的搭建项目的开发环境,我们无需或者进行很少的相关spring配置就能够快速的将项目运行起来
2.2 优点
- 能够快速的搭建项目
- 对主流的开发框架都提供了无配置集成(SpringBoot内置了配置)
- 项目可以独立运行、无需单独配置Servlet容器(内置了Tomcat)
- 极大提高了开发、部署效率
- 提供了运行时监控系统(日志等)
- 与云原生有天然的集成
2.3 缺点
- 由于配置都是内置的,报错时定位比较困难
- 版本迭代速度比较快、有些版本改动还是比较大(增加学习成本)
三、第一个SpringBoot应用
体验:基于SpringBoot整合SpringMVC
SpringBoot应用需要依赖远程服务器进行创建
远程服务器:
- Spring官方:https://start.spring.io
- ali:https://start.aliyun.com
3.1 创建项目
3.1 File—New—Project
3.2 填写项目信息
3.3 选择项目依赖
3.4 选择项目存储目录
3.5 网页创建SpringBoot应用
如果基于IDEA创建无法下载,可以基于网页版进行创建
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/db_2010_mybatis?characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=admin123
配置映射文件路径及实体类的包名
mybatis.mapper-locations=classpath:mappers/*Mapper.xml
mybatis.type-aliases-package=com.qfedu.springboot.demo.entity
在SpringBoot启动类通过@MapperScan
注解指定DAO接口的包名
@SpringBootApplication
@MapperScan(“com.qfedu.springboot.demo.dao”)
public class SpringbootDemo1Application {
public static void main(String[] args) {
SpringApplication.run(SpringbootDemo1Application.class, args);
}
}
3.3 启动项目
3.3.1 启动
SpringBoot应用自带Servlet容器—Tomcat,因此无需进行额外的服务器配置,运行启动类即可启动一个SpringBoot应用
3.3.2 测试
用户的注册功能
四、了解SpringBoot
4.1 starter
一个starter就是一个开发场景的支持( 依赖 + 配置)
SpringBoot为我们提供了简化企业级开发绝大多数场景的支持(提供了多个starter),我们在进行项目开发的过程中只需引入对应的starter(创建SpringBoot应用时可选择),相关的依赖和配置就会被内置到项目中(消除人工配置)。
4.1.1 starter依赖
一个starter依赖表示的不是一个依赖,而是某种开发环境所需的一组依赖
- Spring Web —
spring-boot-starter-web
- MyBatis Framework —
mybatis-spring-boot-starter
4.1.2 starter配置
一个starter不仅包含所需依赖,还包含了其所需的对应的配置
-
MyBatis Framework —
mybatis-spring-boot-starter
- 依赖:
配置:
4.3 Java配置方式
如果我们需要在SpringBoot应用中整合一种新的开发场景,只需在pom.xml引入对应的starter即可
一个starter不仅包含依赖,还包含相应的配置,starter中包含的配置都是通过Java类实现的——Java配置方式
4.3.1 Spring版本发展
随着Spring版本的迭代,配置方式也在发生变化
-
Spring 1.x
- 所有的bean的配置只能通过xml完成
-
Spring 2.x
- 基于JDK1.5对注解的支持,Spring 2.x开始支持注解
- 企业开发中到底是用xml配置还是用注解?
- 对基础配置、引用的第三方依赖中的配置使用xml完成:例如数据源配置
- 业务开发使用注解:例如controller、service
-
Spring 3.x
- Spring 开始提供基于Java的配置方式
4.3.2 xml配置