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>