一、开发所需
1. Apache Maven
· 可以帮助我们构建项目、管理项目中的jar包
- Maven仓库:存放构件的位置
2. Spring Boot
· Spring Boot核心作用
- 起步依赖、自动配置、端点监视
3. Spring IoC
· Inversion of Control
- 控制反转,是一种面向对象编程的设计思想
· Dependency Injection
- 依赖注入,是IoC思想的实现方式
· IoC Container
- IoC容器,是实现依赖注入的关键,本质上是一个工厂
注意
1.Spring容器不但可以管理Bean,还能管理Bean的生命周期、作用域
2.Spring容器的顶层接口是BeanFactory,而常用的是其子接口ApplicationContext
4. Spring MVC
HTTP
HyperText Transfer Protocol
用于传输HTML等内容的应用层协议,它的底层基于TCP/IP协议。
- 规定了浏览器和服务器之间如何通信,以及通信时的数据格式
- 规定了浏览器与服务器通信的四个步骤:建立连接、发送请求、接收相应、关闭连接
- HTTP请求中,包含请求方式、请求路径、协议版本、消息头等内容
- HTTP响应报文中,包含状态码、状态名、协议版本、消息头等内容
Spring MVC
` 三层架构
- 表现层、业务层、数据访问层
· MVC
- Model:模型层
- View:视图层
- Controller:控制层
· 核心组件
- 前端控制器:DispatcherServlet,负责分发所有的请求
· Spring MVC注解
1.@RequestMapping可以生命类或方法的访问路径,还可以声明请求的方式
@RequestMapping(path = "/xxx",method = RequestMethod.GET)
2.@PathVariable用于Get请求方式,可以将请求路径中的参数,绑定到控制器中方法的参数
@RequestMapping(path = "/xxx/{id}",method = RequestMethod.GET)
@ResponseBody
public String getXXX(@PathVariable("id") int id){ }
3.@RequestParam用于Post请求方式,可以将请求对象中的参数,绑定到控制器中方法的参数
4.@ResponseBody用于向浏览器响应字符串
Thymeleaf
· 模板引擎
- 生成动态的HTML
· Thymeleaf
- 倡导自然模板,即以HTML文件为模板
· 常用语法
- 标准表达式、判断与循环、模板的布局
5. MyBatis
· 核心组件
- SqlSessionFactory:用于创建SqlSession的工厂类
- SqlSession:MyBatis的核心组件,用于向数据库执行SQL
- 主配置文件:XML配置文件,可以对MyBatis的底层行为做出详细的配置
- Mapper接口:就是DAO接口,在MyBatis中习惯的称之为Mapper
- Mapper映射器:用于编写SQL,并将SQL和实体类映射的组件,采用XML、注解均可实现
配置文件
# DataSourceProperties
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/xxxx?characterEncoding=utf-8&useSSL=false&serverTimezone=Hongkong
spring.datasource.username=root
spring.datasource.password=xxxxx
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.maximum-pool-size=15
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.idle-timeout=30000
# MybatisProperties
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=(实体类全包名)
# 自动生成id
mybatis.configuration.useGeneratedKeys=true
mybatis.configuration.mapUnderscoreToCamelCase=true
xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="(mapper接口全包名)">
</mapper>