Spring学习04 | 面向切面编程AOP

106 阅读2分钟

AOP的介绍

  • (AOP)面向切面编程,是一种编程技术。
  • AOP是对OOP的补充延伸。
  • AOP底层使用的就是动态代理来实现的。
  • 怎么理解: 将业务逻辑当中的非业务(交叉业务)逻辑代码(例如日志,安全,事务)单独提取出来形成横向切面,然后将业务逻辑看成纵向,以横向交叉的方式应用到业务流程当中的过程叫做AOP。日志,安全,事务是交叉业务

术语介绍

  • 连接点(Joinpoint)描述的是位置
  • 切点(Pointcut)本质就是方法(真正植入切面的那个方法叫做切点)
  • 通知(Advice),通知又叫做增强,就是具体增强的那个代码。
    • 例如:事务代码、日志代码、安全代码等。
  • 切面:切点+通知。
  • 切点表达式:用来定义通知(advice)往哪些方法上切入。

使用Spring的AOP

底层:JDK动态代理和CGLIB动态代理

Spring集成Mybatis框架

  • 第一步:准备数据表
  • 第二步:创建一个模块,并引入依赖
    • spring-context
    • spring-jdbc
    • mysql
    • mybatis-spring:mybatis提供的与spring集成的依赖
    • junit
    • druid连接池
  • 第三步:基于三层架构的实现,创建所有的包
  • 第四步:编写pojo
    • Account,属性私有化,提供公开的setter getter和tosring
  • 第五步:编写mapper接口
    • AccountMapper接口,定义方法
  • 第六步:编写mapper配置文件
    • 在配置文件中配置命名空间,以及每一个方法对应的sql
  • 第七步:编写service接口和service接口的实现类
    • AccountService
    • AccountServiceImpl
  • 第八步:编写jdbc.properties
    • 数据库连接池相关信息
  • 第九步:编写mybatis-config.xml配置文件
    • 该文件可以没有,大部分配置都可以转移到spring的配置文件中
  • 第十步:编写spring.xml配置文件
    • 组件扫描
    • 引入外部是属性文件
    • 数据源
    • SqlSessionFactoryBean配置
      • 注入mybatis核心配置文件路径
      • 指定别名包
      • 注入数据源
    • Mapper扫描配置器
      • 指定扫描的包