认识SSM框架和Redis

spring Ioc

Ioc(控制反转):Ioc是一个容器,在spring中,它会认为一切java资源都是JavaBean,容器的目标就是管理这些Bean和它们之间的关系。
Spring Ioc理念:不需要你去找资源,只要向Spring Ioc容器描述所需资源,Spring Ioc自己会找到你所需的资源。
Spring是依靠描述来完成对象的创建及其依赖关系的。也就是说在Spring中,我们不用需要靠new的方式创建对象,而是使用配置的方式,然后让Spring Ioc容器自己通过配置去找到对象。

Spring AOP

AOP(面向切面编程):Bean是java面向对象的(OOP)的基础设计,但在一些情况中面向对象是没法处理的。比如说生产部门的订单,生产部门,财务部门三者是复合OOP的理念。但当订单提交给生产部门,生产部门审核通过提交到财务部门。这时财务部门发现订单超支了,所以把订单打回。这时打回订单不只是影响财务部门,生产部门之前的审核也要作废。我们把预算超支这个条件称为切面,它影响了订单,生产部门,财务部门三个甚至更多的对象,并且影响了它们的合作。这时就需要AOP了。
Spring AOP常用于数据库事务的编程,只要Spring接收到了异常消息,它就将数据库的事务回滚,从而保证数据的一致性。

MyBatis

MyBatis是持久层框架,它的数据访问层DAO不需要实现类,只需要一个接口和XML(或者注解)。MyBatis提供了自动映射,动态SQL,级联,缓存,注解,代码和SQL分离等特性

Hibernate

Hibernate也是持久层框架,是完全面向POJO的,它将POJO与数据库映射起来,完全屏蔽了SQL。

MyBatis与Hibernate的区别

MyBatis和Hibernate的业务逻辑层大同小异,对于映射层而言,MyBatis需要接口和SQL,相反Hibernate不需要。
对于Hibernate而言,它不需要编写大量的SQL,就可以完全映射,同时提供了日志,缓存等特性,此外还提供了HQL(Hibernate Query Language)对POJO进行操作,使用十分方便。但当多表关联超过三个的时候,通过HIbernate的级联会造成太多性能丢失。
MaBatis可以自由书写SQL,支持动态查询SQL,处理列表动态生成表名,支持存储过程。这样可以灵活地定义查询语句,满足各类需求和性能优化的需要。但MyBatis需要编写SQL和映射规则,其工作量稍微大于Hibernate。其次,它支持的工具有限,不能像Hibernate那样有许多插件帮助生成映射代码和关联关系。MyBatis通过手工编码,工作量相对大些。所以对于性能要求不太苛刻的系统,如管理系统,ERP等推荐使用HIbernate:而对于性能要求高,响应快,灵活的系统则推荐使用MyBatis。

Spring MVC

MVC模式把应用程序分成不同的方面,同时提供这些元素之间的松耦合。

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

Redis

Redis具备一定持久层的功能,也可以作为一种缓存工具。对于NoSQL数据库而言,作为持久层,它存储的数据是半结构化的,这意味着计算机在读入内存中有更少的规则,读入速度更快。作为缓存,它可以支持大数据存入内存中,只要命中率高,它就能快速响应,因为在内存中的数据读写比数据库读写磁盘的速度快几十到上百倍。
Redis成为主要的NoSQL工具原因如下:

  • 响应速度快
  • 支持六种数据类型
  • 操作都是原子
  • MultiUtility工具

SSM+Redis

  • Spring IoC承担了一个资源管理,整合,即插即拔的功能
  • Spring AOP可以提供切面管理,特别是数据库事务管理的功能
  • Spring MVC用于把模型,视图和控制器分层,组合成一个有机灵活的系统
  • MyBatis提供了一个数据库访问的持久层,通过MyBatis-Spring项目,它便能和Spring无缝对接
  • Redis作为缓存工具,它提供了高速处理数据和缓存数据的功能,使得系统大部分只需要访问缓存,而无需从数据库磁盘中重复读写;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值