Configuration
    作用: 指定当前类是一个配置类

    _ComponentScan
    作用: 用于通过注解指定spring在创建容器时需要扫描的包 属性: value: 它和basePackages的作用是一样的,都是用于指定创建容器时要扫描的包。

    Bean 作用: 把当前方法的返回值作为bean对象存入spring的ioc容器中 属性: name: 用于指定bean的id。不写默认值是当前方法的名称

    _

    Spring AOP
    什么是AOP: 面向切面编程
    AOP底层使用动态代理
    第一种:有接口,使用JDK的动态代理
    调用newProxyInstance方法
    三个参数: 第一个是类加载器
    第二个参数是:增强方法所在的类,这个类实现的接口,支持多个接口
    第三个参数: 实现这个接口InvocationHandler,创建代理对象,写增强的方法。

    第二种:没有接口, 使用CGLIB动态代理

    AOP术语:
    1.连接点: 类里面哪些方法可以被增强,这些方法称为连接点
    2.切入点: 实际被真正增强的方法,就叫切入点
    3.通知(增强): 实际增强的逻辑部分称为通知(增强)
    通知有多种类型:
    前置通知
    后置通知
    环绕通知
    异常通知
    最终通知 finally

    4.切面(是动作): 把通知应用到切入点的过程
    AOP操作:
    1.Srping框架一般都是基于AspectJ实现AOP操作
    AspectJ不是Spring组成部分,独立AOP框架,一般把AspectJ和Spring框架一起使用,进行AOP操作。

    Spirng事务(ACID)
    SpringJDBC通过TransactionManager事务管理器俩实现事务的管理控制
    编程性事务:
    _TransactionDefinition _definition = _new _DefaultTransactionAttribute();
    //__开启一个事务
    _TransactionStatus _status = transactionManager.getTransaction(definition);
    //__提交事务
    transactionManager.commit(status);

    声明式事务













    事务的传播行为:
    指多个拥有事务的方法在嵌套调用时的事务控制方式
    image.png
    原子性

    一致性
    隔离性
    持久性

    **