SpringMVC
SpringMVC技术与Servlet技术功能等同,属于web层开发技术
MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。它是用一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在需要改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。
SpringMVC简介
概述
SpringMVC基于Java实现MVC模型的轻量级web框架
工作流程
使用SpringMVC技术需要先导入SpringMVC坐标和Servlet坐标
创建SpringMVC控制器类
初始话SpringMVC环境,设定加载对应的bean
初始化Servlet容器,加载SpringMVC环境,并设置SpringMVC技术处理请求
@RequestMapping("/xx")
@ResponseBody
public String xxx(){
System.out.println("xxx");
return xx;
}
AbstractDispatcherServletInitializer类是SpringMVC提供的快速初始化类
AbstractDispatcherServletInitializer提供三个接口方法
工作流程分析
Controller加载控制与业务bean加载控制
因功能不同,在加载Spring控制的bean时要排掉SpringMVC控制的bean
扫描排除@ComponentScan(Value = “大目录”, excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION,classes = xxx.class))
简化开发
PostMan简介
作用:常用于进行接口测试
请求
请求的映射路径
多人同时开发请求路径重复
@RequestMapping("/user ")
//定义在控制器方法定义的上方
//设置当前控制器方法请求访问路径,如果设置在类上则为请求路径前缀
请求方式
Get请求
普通参数
Post请求
普通参数
中文乱码处理
public class ServletContainerInitconfig extends AbstractAnnotationDispatcherServletInitializer {
protected Filter[] getServletFilters() {
CharaterEncodingFilter filter = new CharaterEncodingFilter();
filter.setEncoding("utf-8");
return new Filter[]{filter};
}
}
请求参数
普通参数
POJO参数
请求参数(Json数据)
- 添加json数据转换相关坐标
- 设置发送json数据
- 开启自动转换json数据支持
EnableWebMvc
- 设置接受json数据
@RequestBody
和@RequestParam
区别
响应
Rest风格
Rest:表现形式状态转换
(REST风格而不是规范)RESTful
@RestController
可替代@Controller
+@ResponseBody
SSM整合
SSM整合流程
SpringBoot
Boot项目快速启动
- 对Spring Boot项目打包(执行Maven构建指令的package)
- 使用命令
java -jar xxx.jar
SpringBoot简介
SpringBoot概述
设计目的是简化Spring应用的初始搭建和开发工程
Spring缺点
- 配置繁琐
- 依赖设置繁琐
优点
- 自动配置
- 起步依赖
- 辅助功能
起步依赖
starter
SpringBoot中常见的项目名称,定义了当前项目使用的所有坐标,以达到减少依赖配置的目的。
parent
所有SpringBoot项目要继承的项目,定义了若干个坐标版本号,以达到减少依赖冲突的目的
实际开发
使用任意坐标时,仅书写GAV中的G和A,Version由SpringBoot提供
发出坐标错误,再提供版本号
启动方式
@SpringBootApplication
public class xxxQuickstartAlliccation {
public static void main(String[] args) {
SpringApplication.run(xxxQuickstartApplication.class, args)
}
}
SpringBoot在创建项目时,采用jar打包
Spring Boot的引导类是项目的入口,运行main方法就可以启动项目
基础配置
基础配置格式(application.yml)
server:
port: 80
Yaml
一种数据序列化格式
优点
- 容易阅读
- 容易与脚本语言交互
- 以数据为核心,重数据轻格式
yaml文件扩展名
.yml
主流.yaml
yaml语法规则
- 大小写敏感
- 属性层级关系用多行描述,行结尾用冒号结束
- 用缩进表示层级,只允许使用空格
- 属性值前加空格
- #表示注释
- 对于数组数据在数据书写下方使用减号作为数据开始符号,每行写一个数据,减号和数据空格分开
yaml数据读取
- 使用@Value读取单个数据,属性名引用方式:
&{一级属性名.二级属性名}
- 封装全部数据到Environment对象(自动装配)
- 自定义对象封装指定数据
@ConfifurationProperties(profix = "xxx")
(自动装配,有警告添加依赖(上网搜))
多环境启动
#设置启动环境
spring:
profiles:
active: dev
___
#开发
spring:
config:
activate:
on-profile: dev
server:
port: 80
___
#生产
spring:
config:
activate:
on-profile: pro
server:
port: 80
___
#测试
spring:
config:
activate:
on-profile: test
server:
port: 82
命令格式
java -jar springboot.jar --spring.profile=xxx --server.port=88
多环境开发控制
在Maven中设置多环境
在SpringBoot中引用
spring: profiles: actives: ${profile.active}
执行Maven打包(提前对资源文件开启对默认占位符解析)
SpringBoot整合Junit
直接使用@SpringBootTest
评论区
欢迎你留下宝贵的意见,昵称输入QQ号会显示QQ头像哦~