springmvc+前后端分离+IOC+工厂模式入门介绍
跨域:
-
例如一个端口号访问另一个端口号
-
struts就是一个个放的
-
早期火的框架是 ssh spring struts hibernate
-
@RequestMapping(value="/list")
-
找的是有注解的方法,value是客户端要请求的地址
-
如果用了@RequestMapping(value="/list",method=Request.POST);如果不写的话表示GET请求和POST请求
都会到这; -
一开始用@RequestMapping(value="");
-
后来有了@GetMapping("/list"),底层是@RequestMapping
(""),从spring4.3开始的 -
对于前后端分类来说有影响的是第5步骤
-
js—>web服务器
-
js<—web服务器
-
请求地址 响应数据
-
如果前后分离,输出应该放在作用域中的数据;(就是传输数据),能传输的只有两种东西,一个是字节流,一个是字符流
-
字节流:byte,按照字节传输
-
字符流:按照两字节为1单位,Unicode,
-
IO流:用于通讯(作用),也就是传递数据,计算机存储的最小单位是字节,文件的最小单位是字节,数据的最小单位是字节
-
传文件,图片,视频,音频是字节流, 传文本(例如1340)适合字符流
序列化定义
-
我们要传输的是java对象(list),但是我们能传递的是字节流和字符流,将一个对象转换成字节流和字符流的过程是序列化
-
将字节流和字符流转换成一个对象是 反序列化
-
一个java项目 --》 另一个java项目请求数据 用的 是 字节流,例如阿里的dubbo,字节流合适,性能好
-
js --> web服务器 : 用的是字符流
-
跨语言的情况下用字节流是行不通的
-
字符流说白了就是字符串
-
一种是xml文件节点是方式, xml格式国家电网,一行
1
张三
13 -
另一种是json,{
{
id:1,
name: ‘张三’,
password:‘1343’
}
}
json
-
对象转json,有工具,一种是jackson;(国外)
-
另一种是fastjson(阿里的东西)
-
fastjson: alibaba,这个
-
String str = JSONObject.toJSONString(list)
-
第一个办法是植入HttpServletResponse response
-
response.getWriter().write(str);
-
第二种方法:不用response,加注解@ResponseBody,在方法上
还return str;所有方法都加上注解,太累 -
第三种方法:最常用:把@ResponseBody加类上
类下所有方法都是这样,不会找视图解析器,直接输出 -
有个注解是@RestController 相当于@Controller和@ResponseBody,一个注解实现两个功能;*****
-
上面还不是最终方案:
-
IOC:spring两大核心之一
-
思维:控制反转(类似接口): 手段(实习类):依赖注入
-
1、反转定义:电脑的核心是主板;为什么?CPU和内存都接在主板上,外界人就知道电脑在干,具体的电脑那块在干也不需要知道
问题:1、耦合问题:开发的过程中是高内聚,低耦合(高内聚说白了就是一个方法干一件事,方便复用,低耦合: (强耦合,一个类的属性是另一个类的对象,开发当中绝对禁止),强耦合带来的问题:主板只支持I3,不支持I5,牵一发而动全身,仅仅想换cpu,结果必须换主板; -
降低耦合度方法用接口
-
工厂模式:利用工厂生产主板;
-
IOC:本身就是一个工厂模式;
- 2、如何控制反转
- 1、AOP:
本文地址:https://blog.csdn.net/weixin_42333573/article/details/107696050