首先第一个名词:IOC(控制反转)
IOC是Spring容器的内核,AOP和声明式事务在此基础上开花结果。
一句话解释:你不要在通过new关键字来实例化对象,实例化对象的过程交由Spring来管理,Spring会在你使用到该类的对象时候自动帮你创建。这就是所谓的控制反转
ICO的实现机制:可以使用Spring配置文件和注解两种方式来实现。
第二个名词:AOP(面向切面编程)
按照软件重构 思想理解,如果多个类中出现相同代码,应该考虑定义一个抽象类,将相同的代码提出出来;通过继承抽象的父类,消除多个类中重复的代码,但是现实世界并非永远简单,在实现数据库连接时,我们总是需要重复行的,获取连接,管理实务,处理业务逻辑 ,提交事务和关闭连接,
真正核心的内容只有处理业务逻辑 ,但是我们无法通过面向对象的方法把重复的操作分离出来;所以有了AOP
AOP的解释:AOP另辟蹊跷通过横向抽取机制,当需要某些重复操作,比如日志管理,性能监视和事务管理是,自动切入到相关代码之前或者之后来运行;这就是所谓的AOP。
AOP的实现机制:Spring对Aop提供了4中切面定义:基于 AspectJ;基于Schema配置; Advisor配置和混合配置。