《JavaEE 互联网轻量级框架整合开发》读书笔记1

第 1 章 认识SSM框架和Redis

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结构

一张图说明:

猜你喜欢

转载自www.cnblogs.com/nm666/p/11123714.html