SpringMVC

一、概述

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值