您的位置:首页 > 数据库 > Redis

SSM+Redis结构框架图及概述

2018-01-13 22:50 134 查看
最近在学习SSM+Redis框架,所以今天根据这个学期学到的知识先对框架做一个总结,先有个概念。

在java互联网中,以Spring+SpringMVC+MyBatis(SSM)作为主流框架,SSM+Redis的结构框图如下:



下面简单介绍它们各自承担了的功能。

1、Spring IoC(Inversion of Control,控制反转)承担了一个资源管理、整合、即插即拔的功能。举个例子,在java中我们为国家插座设计两种接口,那我们就可以为两种插座分别new两个对象,但是如果要更改上千次这种插座,难道要new很多对象吗,所以不用new的方式创建对象,而是使用配置的方式,然后使用配置的方式,然后让Spring IoC容器自己通过配置去找到插座。

2、Spring AOP(Aspect Oriented Programming,面向切面编程),特别在数据库管理方面。这种面向对象和面向切面有什么区别呢?面向对象面对一个个具体的事物,比如一个订单系统里面有订单、生产部门、财务部门3个OPP对象。如果发生异常,就需要分别对这三个对象进行回滚事物。而面向切面是面向这三个对象,它会将数据库的事物回滚,从而保证数据的一致性。

3、SpringMVC包括Model(模型)、View(视图)、Controller(控制器),其中模型负责封装应用程序的数据和由他产生的POJO;视图负责把模型数据渲染到视图上,将数据以一定的形式展现给用户,控制器负责处理用户请求,并建立适当的模型把它传递给视图渲染。

4、MyBatis提供了一个数据库访问的持久层,通过MyBatis-Spring项目,它便能和Spring无缝对接。

5、Hibernate也是持久层,也就是SSH中的H,为什么会出现SSH被SSM取代的原因,特别是Hibernate被MyBatis取代。首先我们必须从他们两者的区别说起,Hibernate基本不需要编写SQL语句,而是通过映射关系来操作数据库,是一种全表映射的体现;而MyBatis则不同,它需要通过我们提供SQL去运行。在过去的管理系统时代,先要完成业务功能,再讲究性能,而屏蔽了SQL的Hibernate更加适合开发。但是到了互联网时代,需要性能,MyBatis能够克服Hibernate在多表关联超过三个的情况下造成的级联性能丢失。所以对于性能要求不太苛刻的系统,不如管理系统和ERP等推荐Hibernate;而对于性能要求高、响应快、灵活的系统则推荐使用MyBatis。

6、Redis作为最流行的NoSQL(非关联数据库),它提供了高速处理数据和缓存数据的功能,使得系统大部分只需要缓存页面,而无须从数据库磁盘中重复读写;在一些需要告诉运算的场合中,也可以通过先用它来完成运算,再把数据批量存入数据库,这样便能极大提高了互联网系统的性能和响应能力。但是本人认为它不可能完全取代数据库,因为数据库系统有更好的规范性和数据完整性,安全性更高。

后续会放出更多学习的记录,比如机器学习的基础、爬虫、金融风险分析等等,甚至一些操作系统和数据库方面的课程难题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: