Spring的长处
- Spring是一个开源收费的框架
- Spring是一个轻量级,非入侵式的框架
- 管制反转(IOC),面向切面编程(AOP)
- 反对事务处理,对框架整合反对
Spring就是一个轻量级的管制反转(IOC),面向切面编程(AOP)的框架
IOC实质
管制反转IOC(Inversion of Control),是一种设计思维,DI(依赖注入)是实现IOC的一种办法,也有人认为DI只是IOC的另一种说法。没有IOC的程序中,咱们应用面向对象编程,对象的创立与对象间的依赖关系齐全硬编码在程序中,对象的创立由程序本人管制,管制反转后将对象的创立转移给第三方,集体认为所谓管制反转就是︰取得依赖对象的形式反转了。
采纳XML形式配置Bean的时候,Bean的定义信息是和实现拆散的,而采纳注解的形式能够把两者合为一体,Bean的定义信息间接以注解的模式定义在实现类中,从而达到了零配置的目标。
管制反转是一种通过形容(XML或注解)并通过第三方去生产或获取特定对象的形式。在Spring中实现管制反转的是loC容器,其实现办法是依赖注入(Dependency Injection,Dl)。
依赖注入
结构其注入
set注入
bean的主动拆卸
ByName
ByType
应用注解
代理模式
AOP
申明式事务
事务
- 要么都胜利,要么都失败
- 确保完整性和一致性
- 事务在我的项目开发中非常重要,波及数据的一致性
事务ACID准则
- 原子性
- 一致性
- 隔离性
- 持久性
XML配置事务
<! --配置申明式事务--><property name="dataSource" ref="dataSource"/>/bean><! --联合AOP实现事务的织入--><! --配置再务告诉--><tx:advice id="txAdvice" transaction-manager="transactionManager"><!--给哪那些办法配置事务--><!--配置事务的播个性: propagation= --><tx:attributes><tx:method name="add" propagation="REQUIRED"/><tx:method name="delete" propagation="REQUIRED"/><tx:method name="update" propagation="REQUIRED"/><tx:method name="query" read-only="true"/><tx:method name="*"propagation="REQUIRED"/></tx:attributes></tx:advice><!--配置事务切入--><!-- com.cy.mapper.*.*(..) 示意mapper包下所有类里的所有办法--><aop:config><aop:pointcut id="txPointCut" expression="execution(* com.cy.mapper.*.*(..))"><aop:advisor advice-ref="txAdvice" pointcut-ref="txPointCut"/></aop:config>