[toc]
spring
一个开源框架(Spring Framework)
轻量的控制反转IoC
面向切面AOP的容器框架
大小与开销两方面都是轻量的
Bean,它代表的就是由Spring管辖的对象
Spring MVC和Spring Boot都属于Spring,Spring MVC 是基于Spring的一个 MVC 框架,而Spring Boot 是基于Spring的一套快速开发整合包
dependengcy: 用 mvc 选 spring web ,用 webFlux 选spring reactive web
spring mvc
是spring的一部分
主要用于开发WEB应用和网络接口,它是Spring的一个模块
spring boot
web项目: Controller层:主要是对外提供接口 Service层:主要是处理业务逻辑 Dao层:主要是和数据库相关
层级结构 /src/main/java:项目Java源代码 /src/main/resources:放置项目静态资源和配置文件 /src/test/java:放置项目测试用例代码
Project是最顶级的结构单元,一个可以有多个Module 一般按功能划分module,模块之间彼此相互依赖,模块 src/main/java 下可以有多个包,一个包下可以有多个类 包(package):为了对类分目录管理
|- java
|- com.hew.javaweb
|_annotation:放置项目自定义注解
|_aspect:放置切面代码
|_config:放置配置类
|_constant:放置常量、枚举等定义
|__consist:存放常量定义
|__enums:存放枚举定义
|_controller:放置控制器代码
|_filter:放置一些过滤、拦截相关的代码
|_mapper:放置数据访问层代码接口
|_model:放置数据模型代码
|__entity:放置数据库实体对象定义
|__dto:存放数据传输对象定义
|__vo:存放显示层对象定义
|_service:放置具体的业务逻辑代码(接口和实现分离)
|__intf:存放业务逻辑接口定义
|__impl:存放业务逻辑实际实现
|_utils:放置工具类和辅助代码
创建独立的Spring应用程序,用于创建微服务;用于简化 Spring 应用从搭建到开发的过程;
- 自动配置
- 起步依赖
Artifact:可以当它为一个web项目
构建工具 Maven Gradle
spring framework -> spring boot -> spring cloud
Netty和Tomcat最大的区别就在于通信协议,Tomcat是基于Http协议的,实质是一个基于http协议的web容器; Netty能通过编程自定义各种协议,因为netty能够通过codec自己来编码/解码字节流,完成类似redis访问的功能,这就是最大的不同
Servlet 是运行在Web服务器上的小程序,通过http协议和客户端进行交互
Optional 防止空指针提出的接口
【spring-boot-starter-web】 在当下项目运行mvn spring-boot:run就可以直接启用一个嵌套了tomcat的web应用。如果没有提供任何服务的Cotroller,访问任何路径都会返回一个springBoot默认的错误页面 Whitelabel Error Page
https://img.shields.io/badge/h-h-brightgreen
第三方包
- fastJson: 传入的对象要有 getter 方法
搭建工程
- 创建 Maven 项目
- 导入Spring Boot起步依赖
- 定义 Controller
- 编写引导类
- 启动测试
创建项目
下载 JDK https://www.oracle.com/java/technologies/downloads/#jdk18-windows
使用 Spring Initializr 创建
勾选相关设置
等待安装依赖包
进入 https://start.spring.io/ (说明 https://www.cainiaojc.com/springboot/springboot-initializr.html)
勾选
|- Project
|- Maven Project
|- Language
|- Java
|- Spring Boot
|- 2.7.2 这里根据实际情况勾选
|- Project Metadata 修改默认名称等
|- Group com.hew
|- Artifact java-web
|- Name java-web
|- Package name com.hew.java-web
|- Packaging
|- Jar
|- Java
|- 18 这里根据下载的 JDK 选
|- Dependencies
|- Spring Web 一般创建的是web项目
- 下载,将其移入放置项目的文件夹
- 在 IDEA 社区版直接打开 open 然后等待下载
IDEA 直接创建
- 选 Java Maven
- 选择JDK 选择java 版本
- 选 spring boot 版本
- 选 Spring Boot Dev tools + Spring Web + My Batis Framework + MySQL Driver
Spring boot 简单查询数据库步骤
- 建立实体类和数据库字段保持一致
- 建立 mapper 接口,定义操作数据库的动作
- 建立 mapper 的 xml 文件,写 sql 语句
- 建立 service 类 处理业务逻辑
- 在 controller中展示处理的结果