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扫描配置器
- 指定扫描的包