zoukankan      html  css  js  c++  java
  • SSM+Redis简介

    参考:《JavaEE 互联网轻量级框架整合开发》 -第 1 章

    Spring 框架

    成功的理念:

    1. Ioc(Inversion of Control,控制反转)
    2. AOP(Aspect Oriented Progamming,面向切面编程)

    Spring IoC

    就是将对象交由IoC容量管理,认为一切的Java资源都是Java Bean ,管理这些Bean以及他们的依赖关系。

    应用:

    1.同一接口不同实现类的配置,(使用XML不需要修改源代码)

    ##如下 Socket接口有两个实现类
    Socket socket = new Socket1();
    Socket socket = new Socket2();
    
    <!--使用socket1实现类-->
    <bean id="socket" class="Socket1" />
    <!--使用socket2实现类-->
    <bean id="socket" class="Socket2" />
    

    这样,我们只需在xml文件配置不同的该bean中配置不同的class即可,而不用去翻出代码去new Socket1()的切换不同的实现类。

    2.Bean之间的依赖关系解耦

    <bean id="socket" class="Socket1"/>
    <bean id="user" class="xxx.User">
    	<property name="socket" ref="socket" />
    </bean>
    

    我们可以再user Bean中配置或者不配置socket Bean来达到依赖关系之间的解耦

    3.声明周期、事件、行为等的管理

    比如我们可以延迟加载Bean、在其声明中期定义一些行为等等。

    总之就方便有效的使用和管理Java资源。

    Spring AOP

    OOP的编程是不完善的,有时候一个功能或条件会横跨几个甚至更多的对象,影响他们的协作。我们把这样的一个功能条件成为切面。通过它去管理在切面上的某些对象之间协作。

    应用:

    ●Spring AOP常用于数据库事务的编程

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

    这样我们就知道,Spring在事务管理中只要接收到异常就会回滚,Spring已经提供了隔离级别和传播行为去控制事务。

    因此,我们只需要关注业务,遇到问题抛异常就好了,不需要自己手动的在代码里面try...catch...finally...了。

    MyBatis

    ORM(Object Relational Mapping)框架

    提供特性:

    自动映射、动态SQL、级联、缓存、注解、代码和SQL分离,以及接口编程(不需要实现类只需要一个接口和 XML或注解)

    优点:

    灵活、封装少、映射多样化、支持存储过程、可以进行SQL优化

    Spring MVC

    Spring MVC 与Spring 的IoC和AOP能无缝对接,而且结构清晰。把应用程序的(输入逻辑、业务逻辑、UI逻辑)分层,同时提供元素间的松耦合。

    • Model(模型):封装了应用程序的数据和由他们组成的POJO
    • View(视图):负责把模型数据渲染到视图上。
    • Controller(控制器):负责处理用户的请求,并建立适当的模型传递给视图渲染(如:@ResponseBody 返回JSON)

    Spring MVC的重点:

    • 流程
    • 重要的注解 (控制器、视图解析器、视图等)

    Redis

    最流行的NoSQL(Not Only SQL)

    • 快:在内存上读写;另外,数据是半结构化的,数据规则越少当然内存就读写更快咯
    • 支持6种数据类型:String、Hash、List、Set、SortSet、INT
    • 操作都是原子的:也就是说数据安全,可在高并发场景使用Redis的事物,处理一些需要锁的业务。
    • 应用的地方很多:缓存、消息队列(pub+sub模式),在Web应用程序session、网站点击数等任何短暂数据中使用。

    总之,Redis主要是又快又能保证并发数据安全和一致性,作缓存能够提升性能减少数据库压力,又能满足抢红包、商品秒杀的场景,高速处理并保证数据安全一致。

    SSM+Redis结构

    一张图说明:

  • 相关阅读:
    Linux线程信号
    有理想的程序员必须知道的15件事
    Linux下 mplayer 使用手册
    Winxp下 gvim 编程环境搭建
    在WPF中弹出右键菜单时判断鼠标是否选中该项
    F#基本类型——Discriminated Unions
    在WPF的TreeView中实现右键选定
    WPF TreeView tools
    F#基本类型——Structure
    增强了一下DownloaderPlus的视频转换功能
  • 原文地址:https://www.cnblogs.com/nm666/p/11123714.html
Copyright © 2011-2022 走看看