一、概述
Spring团队创建的产品,遵循MVC设计模式。主要是用来接收请求+做出响应。
MVC模型:M--model:用来封装数据
V---view:用来展示数据
C-----Controller控制层:1、接收请求。2、处理响应。
二、解析请求参数。
浏览器发送数据给服务器有两种常用方式:get 和 post
get的数据,在地址栏展示,用?拼接的参数
post的数据,安全不在地址栏展示
开发步骤: 1,导入SpringMVC相关的jar包(被Springboot整合了) 2, 使用注解开发
三、工作原理-------分六步。
1、前端控制器DispatcherServlet通过客户端传过来的数据进行解析,提交给处理器映射器HandlerMapping。
2、处理器映射器解析数据,找类找方法,再返回给前端控制器信息。
3、前端控制器通过返还回的信息,转发给对应处理的处理器适配器HandlerAdapter,并且适配器调用合适的处理器去工作也叫Controller。
4、Controller将处理完的数据和视图转发给前端控制器,前端控制器再将这些数据转发给ViewReslover视图解析器。
5、ViewReslover视图解析器再经解析后的数据返回给具体的view,DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。
6、DispatcherServlet响应用户。
四、SpringMVC常用的注解
@Controller 标识是一个Controller,Spring包扫描创建实例
@RequestMapping 请求后的映射路径
@PathVariable 标识接收单个参数
@ResponseBody 返回对象利用jackson工具类转换为json字符串
@RequestParam 参数名和请求参数名称不同时使用,可以设置默认值
五、总结:浏览器提交数据方式
get:把数据用?进行拼接,多个数据之间用&连接(?id=10&price=100)
java程序解析请求参数:在方法的参数列表中,依次解析(或者封装成java对象)
restful:可以简化get提交数据(/10/100)
java程序解析请求参数:使用{变量}来解析地址栏里的数据
+使用@PathVariable获取变量的值。
注意:restful解析参数时,标准是两步: {变量}+@PathVariable获取变量的值 //但是,参数列表如果是一个java对象,就不许加@PathVariable否则500异常!!
六、spring框架
1、概述:Spring框架可以和其他技术无缝衔接
BeanFactory: bean工厂, spring框架认为所有类都是bean. 从bean工厂可以获取每个bean
IOC: 控制反转, 不需要程序员来创建对象了,交给Spring框架来管理对象(从初始化…销毁).程序员可以直接从 Spring框架中获取Bean的对象
DI: 依赖注入,使用Spring框架明确两个对象间的依赖关系
AOP: 面向切面编程,是一种思想,解决了OOP的不足
七、Git
–1,概述
用来进行代码的版本控制.
1,远程仓库: 是一个网站,用来存你上传的代码,国内用Gitee码云,国外用GitHub
2,本地仓库: 是你自己创建的一个文件夹路径,用来存你即将上传的代码(参考E:\workspace\gitee)
3,上传资源
add: 把即将上传的代码从工作空间到本地索引
commit: 把即将上传的代码从本地索引到本地仓库
push: 把即将上传的代码从本地仓库到远程仓库
4,下载资源
clone/pull: 把代码从远程仓库下载到自己电脑里
5,以后工作中: 每天下班前,需上传资源. 每天上班时,下载资源.
6,使用Git的前提: 安装Git的软件, 在码云上注册账号
–2,使用步骤
1,创建本地仓库: E:\workspace\gitee,用来存即将上传的代码
2,创建远程仓库: 存你上传的代码.去码云官网创建一个开源的仓库(设置仓库名字)
3,上传前,先保证本地仓库有东西能传别空着
4,正式上传:需要在本地仓库的位置执行Git命令
八、IOC的注解方式
常用的IOC注解有四个: 功能都一样,都是交给spring框架创建对象
@Component @Service @Controller @Repository
什么时候使用IOC:
需要把创建对象的权力交给spring框架管理时。
什么时候使用DI:
当A类想用B类的属性或方法时,直接把B类依赖注入到A类就可以。---使用注解@Autowried
AOP:
1、概述:是面向切面编程的思想,好处是:把一些共性代码,提取形成切面,提供丰富的通知,聚焦了程序员的关注点,只关注业务本身。
1、切面:Aspect 就是一个类
2、通知:类里的方法,分类
前置通知:是指调用业务方法前会被执行的功能(适用于权限管理,缓存管理)。
后置通知:是指调用业务方法后会被执行的功能(适用于释放资源)。
环绕通知:是指调用业务方法的前 后 会被执行的功能(适用于事务管理,性能分析)。
返回后通知:是指调用业务方法并返回了结果后,会被执行的功能。
异常通知:是指调用业务方法并抛出异常后,会被执行的功能。
3、切点:PointCut:触发通知执行的那个方法的时间点
上传步骤
在git工作空间里进入cmd。
1、git add .
2、git comit -m "test"
3、git push -u origin master