ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Spring框架学习第一节:认识SSM框架和Redis

2020-06-10 18:06:23  阅读:186  来源: 互联网

标签:框架 Spring 数据库 Redis SSM SQL MyBatis IoC


此博客用于个人学习,来源于ssm框架的书籍,对知识点进行一个整理。

关注的问题:

1.了解 SpringIoC 和 springAOP 的基础概念。
2.了解 Mybatis 的特点。
3.了解 SpringMVC 的特点。
4.了解为什么要使用 NoSQL(Redis) 及 Redis 的优点。
5.掌握 SSM 和 Redis 的基本结构框图和各种技术的作用。

1.1 Spring框架:

理念包括 IoC(Inversion of Control,控制反转)和 AOP(Aspect Oriented Programming,面向切面编程)

1.1.1 Spring IoC 简介:

IoC可以看作一个容器,在Spring里面,它认为一切Java资源都是Java Bean,容器的目标是管理这些Bean和它们之间的关系。在spring IoC里面装载的是各种Bean,也可以理解为Java的各种资源,包括Java Bean 的创建,事件,行为等,它们由IoC容器管理,并且这些Bean存在一定的依赖关系。

Spring是靠描述来完成对对象的创建及其依赖关系——Spring IoC 管理对象和其依赖关系,采用的不是人为的主动创建,而是Spring IoC 自己通过描述创建的。

优点: 不需要用new的方式去创建对象,而是使用配置的方式。换句话说,你不需要去找资源,只要向 Spring IoC 容器描述所需资源,Spring IoC 自己就会找到你所需要的资源,这就是 Spring IoC 的理念。这样就把 Bean 之间的依赖关系解耦了,更容易写出结构清晰的程序。

1.1.2 Spring AOP 简介:

在Spring AOP 实现的数据库事务管理中,是以异常作为消息的,在默认的情况下(可以通过 Spring 的配置修改),只要 Spring 接收到了异常信息,不需要通过代码来实现这个过程,它就会将数据库的事务回滚,从而保证数据的一致性。

1.2 MyBatis框架:

它的优势在于灵活,几乎可以替代JDBC,同时也提供了接口编程。目前 MyBatis 的数据访问层 DAO(Data Access Objects)是不需要实现类的,它只需要一个接口的 XML (或者注解)。提供自动映射,动态SQL,级联,缓存,注解,代码和 SQL 分离等特性,使用方便,同时也可以对 SQL 进行优化,因为其具有封装少,映射多样化,支持存储过程,可以进行 SQL 优化等特点,使得它取代了 Hibernate 成为了 Java 互联网首选的持久层框架。

1.2.1 Hibernate 和 MyBatis 的区别:

两者的增删改查,对于业务逻辑层来说大同小异,对于映射层而言,Hibernate 的配置不需要接口和 SQL ,相反 MyBatis 是需要的。但由于无须SQL ,当多表关联超过3个的时候,通过 Hibernate 的级联会造成太多性能的丢失。相较于访问的复杂性超出 Hebernate 的局限,更为关键的是性能上的问题,在关系系统的年代,对于性能的要求不是那么苛刻,但是在互联网时代性能就是系统的根本,响应过慢意味着用户的流失。

以上的问题可以由 MyBatis 来解决,因为其可以自由书写 SQL ,支持动态 SQL , 处理列表,动态生成表名,支持存储过程,可以灵活的定义查询语句,满足各类需求和性能优化的需要,这在互联网系统中是十分重要的。

但是,也有缺陷——工作量大于 Hibernate,支持的工具有限,即使使用生成工具,也需要开发者做进一步简化。

所以,对于性能要求不太苛刻的系统,比如管理系统,ERP 等推荐使用 Hibernate ;而对于性能要求高,响应快,灵活的系统则推荐使用 MyBatis 。

1.3 Spring MVC 框架:

Spring MVC(Model View Controller):

  • Model:模型,封装了应用程序的数据和由它们组成的POJO。
  • View:视图,负责把模型数据渲染到视图上,将数据以一定的形式呈现给用户。
  • Controller:控制器,负责处理用户请求,并建立适当的模型把它传递给用户。

优点:结构层次清晰,类比较简单,同时提供这些元素之间的松耦合。

1.4 最流行的NoSQL——Redis:

对于常用数据库,第一次从数据库读出,然后就存放在 NoSQL 中,这样以后就无须再访问数据库,只需从 NoSQL 中读出即可,性能就会比数据库快得多。对于那些高并发的操作,可以在 NoSQL 上先完成写入,等待某一个时刻再批量写入数据库,这样就能满足系统的性能要求了。

优点:

  1. 响应快速:原因前面已说过。
  2. 支持六种数据类型:字符串,哈希结构,列表,集合,可排序集合和基数,可以满足存储各种数据结构体的需要。
  3. 操作都是原子的:确保当两个客户同时访问 Redis 服务器时,得到的是更新后的值(最新值)。
  4. MultiUtility:可以在任何短暂的数据中使用。

1.5 SSM+Redis 结构框图及概述:

在这里插入图片描述

  1. Spring IoC 承担了一个资源管理、整合、即插即拔的功能。
  2. Spring AOP 可以提供切面管理,特别是数据库事务管理的功能。
  3. Spring MVC 用于把模型、试图和控制器分层,组合成一个有机灵活的系统。
  4. MyBatis 提供了一个数据库访问的持久层,通过MyBatis-Spring 项目,它便能和Spring无缝对接。
  5. Redis作为缓存工具,它提供了高速度处理数据和缓存数据的功能,使得系统大部分只需要访问缓存,而无须从数据库磁盘中重复读/写;在一些需要高速运算的场合中,也可以先用它来完成运算,再把数据批量存入数据库,这样便能极大地提升互联网系统的性能和响应能力。

标签:框架,Spring,数据库,Redis,SSM,SQL,MyBatis,IoC
来源: https://blog.csdn.net/paynmind/article/details/106627179

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有