认识SSM框架和Redis(一)

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(二)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dying 搁浅

两杯酒,一杯敬你余生多欢喜。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值