通知: advice 在执行目标方法的过程中的那个阶段嵌入我们的外部程序 前置: 在执行目标方法之前 后置: 执行目标方法之后 环绕: 在执行目标方法过程之中 异常: 目标方法执行过程中出现异常的处理 最终: 方法执行结束之后
目标对象: 被代理的对象 AOP代理: JDK动态代理,cglib动态代理(优先使用jdk动态的模式) 织入: 将外部的插件的功能嵌入到我们主要的业务逻辑过程 称为织入 引入: 我们的外部插件,外部的功能代码 切入点: 我们选取当前执行的程序中的那个具体的标记 (* com.ujiuye.service..(…)) service包下所有的类的所有的方法 切面: 关注点的模块话(点 线 面)多个切点组成的新的代码 连接点: 当前正在调用的目标方法就是连接点
代码展示:
<?xml version="1.0" encoding="UTF-8"?><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="com.mysql.jdbc.Driver"></property> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/shoop"></property> <property name="user" value="root"></property> <property name="password" value="root"></property> </bean> <bean id="template" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataSource"></property> </bean> <bean id="dao" class="com.ujiuye.dao.CategoryDaoImpl"> <property name="template" ref="template"></property> </bean> <bean id="service" class="com.ujiuye.service.CategoryServiceImpl"> <property name="dao" ref="dao"></property> </bean>
