初识Spring

最近刚学Spring,对此有一点想法,以下是总结:
1、由于EJB1和EJB2过于复杂了,所以给了Spring崛起的可乘之机,所以Spring是一个高度灵活的框架,Spring目的是为了解决企业级应用开发的复杂度。Rod Johnson提出来,用Spring framework中的AOP(声明性事务),去替换CMT,简化了70~80%中小型企业的开发问题。
2、 Spring 主要简化了逻辑层的代码,(事务的控制主要在逻辑层,)。
3、Spring的核心功能: IOC (控制反转)和 AOP(切面编程)。
(1)、Spring的IOC机制实现了对象之间的解耦(实现决定接口),避免了硬编码造成的程序耦合。(解决方式:反射+配置文件,即IOC机制帮助创建对象以及管理对象之间的关系,)
(2)、AOP切面编程可以帮助我们实现很多特定的功能(例如拦截器),AOP有俩种配置方式:xml和注解方式
(3)、声明性事务控制处理,(在事务较多时使用声明性事务较为方便,事务较少时使用编程性事务)
(4)、Spring对jdbc进行了轻量级的封装,可以更方便的操作数据库。
(5)、Spring也支持其他优秀框架。
4、Spring在连接数据库时体现的主要工作:将Connection打开放入ThreadLocal中,底层代码 需要使用dataSourse.
5、Spring容器:—单例
(1)、BeanFactory:只提供基本的DI(依赖注入)功能。
(2)、ApplicationContext,它有俩个实现类
- classPathXmlApplicationContext基于JavaSE
- XmlWebApplicationContext,基于JavaEE

6、Spring中bean对象的生命周期(scope):

(1)singleton ----默认模式(当一个bean的作用域设置为singleton, Spring IOC容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则只会返回bean的同一实例)
(2)prototype — 每一次请求都会产生一个新的bean实例。容器在初始化、配置、装配完一个prototype实例后,将它交给客户端,
(3)request 每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTPRequest内有效 (4) session 每次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTPSession内有效.
(5) application:作用域是ServletContext
(6) globalSession :作用域是ApplicationContext,不过它仅仅在基于portlet的web应用中才有意义.

7、Spring事务的传导机制(3种)

(1). (propagation=Propagation.REQUIRED)
内部事务,使用外部事务的配置策略
(2) requires_new
内部事务使用新的事务策略,与外部事务策略不同
(3) requires_nest
事务中出现异常后,回滚到savepoints,而不是事务的起点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值