认识SSM框架和Redis(一)
来源:互联网 发布:淘宝账号已被限制登录 编辑:程序博客网 时间:2024/06/04 18:58
1.Spring框架
理念包括:
IoC(Inversion of Control,控制反转);
AOP(Aspect Oriented Programming ,面向切面编程)
1.1.1 Spring IoC
IoC为一个容器,在Spring中它认为一切Java资源都是Java Bean,容器的目标即为管理这些Bean和他们之间的关系。Spring IoC中装载各种Bean,他们由IoC容器管理。
- Java Bean 之间会存在一定的依赖关系。
- Spring 是依靠描述完成对象的创建及其依赖关系。
例子:
比如插座,它依赖国家标准去定义,现有两种插座(Socket1,Socket2)
有两种插座可供选择,具体选择那种呢?通过代码实现使用插座1:
Socket socket = new Socket1();user.setSocket(socket);user.useSocket();
上述这种使用方式Socket接口和其实现类Socket1耦合了。
Spring IoC解决了这个问题。不用new的方式创建对象,而是使用配置的方式,让Spring IoC容器自己通过配置去找插座。
用一段XML描述插座和用户的引用插座1如下:
<bean id="socket" class ="Socket1" /><bean id="user" class="xxx.User"> <property name="socket" ref="socket"/></bean>
更换插座2只需要把配置切换为:
<bean id="socket" class ="Socket2" />
“我要插座2” 相当于XML依赖关系配置,这个时候Spring IoC只会拿插座2,然后通过国家标准插座接口注入给使用者,提供给使用者使用。这是一种被动行为。需要的资源(Bean)通过描述信息就可以得到,其中的控制权在Spring IoC 容器中,他会根据描述找到使用者需要的资源,这就是控制反转。
你不需要去找资源,只要向Spring IoC 容器描述所需要的资源,Spring IoC 自己会找到你需要的资源,这就是Spring IoC的理念。
1.1.2 Spring AOP
IoC的目标是管理Bean,而Bean是Java面向对象(OOP)设计的基础 。
而有些情况是面向对象没有办法处理的。例如,生产部门的订单,生产部门,财务部门三者符合OOP的设计理念。订单发出,生产部门审批通过准备付款,但是财务部门发现订单的价格超支了,需要取消订单。显然超支限定已经不止影响财务部门了,还会影响生产部门之前所做的审批,需要把它们作废,我们把预算超支这个条件称为切面,它影响了订单,生产部门,财务部门3个OOP对象。在现实生活中,这样的切面条件跨越了3个甚至更多的对象,并且影响了它们的协作。所以只用OOP并不完善,还需要面向切面编程,通过它去管理在切面上的某些对象之间的操作。
- Spring AOP 常用于数据库事务的编程。
- Spring已经提供了隔离级别和传播行为去进行控制。
认识SSM框架和Redis(二)
- 认识SSM框架和Redis(一)
- 认识SSM框架和Redis(二)
- 认识SSM框架和Redis(三)
- SSM框架和Redis整合
- SSM框架整合(一)
- Redis学习笔记(一)--认识Redis
- 初学Redis(一)认识Redis
- yii学习笔记(一)认识和了解yii框架
- SSM框架之MyBatis(一)
- SSM框架(一)---宏观了解
- 从零开始使用SSM框架(一)
- SSM框架集成(一)mybatis+spring
- SSM框架快速集成redis
- SSM(一) | 框架整合
- 学习之旅(二)(ssm框架加入redis)
- 【框架】——SSM框架的整合(一)
- SSM框架(一)--Spring和MyBatis整合(详细教程)
- SSH和SSM两个框架的浅显的区别(一)
- 多线程和进程的概念
- C++_auto
- Javascript知识点总结(一)
- java线程同步synchronized与lock
- 将别人的前端用于自己的项目
- 认识SSM框架和Redis(一)
- Anton and Fairy Tale
- 小四轴调试笔记
- Python 练习实例8
- 常用 js 代码
- MVC、MVP、MVVM的理解与使用
- [2]_解决在海思SDK包中的执行 ./sdk.unpack出现的问题
- 【opencv】VS2015+opencv2.4.13 GPU模块编译
- 使用嵌套循环,打印字母