Spring

1,Spring的加载流程
初始化环境->加载配置文件->实例化Bean->调用Bean显示信息
2,Spring AOP的实现原理
AOP,面向切面编程,是OOP的补充和完善,OOP引入了封装,继承,多态性等建立一种对象层次结构(从上到下的关系),当需要为分散的对象引入公共行为的时候(从左到右的关系),OOP就显得无能为力。例如:日志功能,安全性,异常处理等,它们散布在所有对象层次中与对象的核心功能毫无关系,这种代码成为横切代码。在OOP设计中,会导致大量代码的重复不利于模块的重用
AOP和OOP相反,利用横切技术。将影响多个类的公共行为封装到一个可重用模块,称为Aspect,简单点就是将那些与业务无关,却被业务模块所公共调用的逻辑封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。AOP的核心思想就是"将应用程序的商业逻辑同对其提供支持的通用服务进行分离"
Spring提供了两种方式生成动态代理对象:JDKProxy和Cglib具体使用哪种方式由AopProxyFactory根据AdvisedSupport对象的配置来决定,默认的策略是如果目标类是接口,使用JDK动态代理技术,否则使用Cglib

IOC控制反转,通过引入IOC容器,利用依赖注入的方式,实现对象之间的解耦。例如USB接口

3,Spring如何管理事务的
Spring事物管理主要包括3个接口,主要由以下三个共同完成的
1,PlatformTransactionManager:事物管理器,主要用于平台相关事务的管理。主要包括三个方法:①commit:事物提交 ②rollback:事物回滚 ③getTransaction:获取事物状态
2,TransactionDefinition:事物定义信息,用来定义事物相关属性。给事务管理器PlatformTransactionManager使用这个接口有下面四个主要方法:①getsolationLevel:获取隔离级别②getPropagaBehavior:获取传播行为③getTimeout获取超时时间④isReadOnly:是否只读
3,TransactionStatus:事物具体运行状态。例如:①hasSavePoint返回这个事务内部是否包含一个保存点②isCompleted返回该事务是否已完成,也就是说是否已经提交或回滚③isNewTransaction判断当前事务是否是一个新事务
4,Spring怎么配置事务(具体说出一些关键的xml 元素)
配置事务的方法有两种
1,基于XML的事务配置
数据元信息DataSource,管理事务的类txManager
2,基于注解方式的事务配置
@Transactional:直接在java源代码中声明事务的做法
注解事务,只需要在xml中配置一句

  <!-- 配置注解事务 -->  
  <tx:annotation-driven transaction-manager="txManager"/>  

在类上加一行 @Transactional

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值