-
spring Aop 对动态代理的选择
查看全部 -
JDK cglib 代理对比
查看全部 -
原理大纲
查看全部 -
通配符
查看全部 -
AOP注意事项查看全部
-
匹配对象
查看全部 -
匹配包/类型
查看全部 -
指示器designators
查看全部 -
切点表达式
查看全部 -
匹配参数查看全部
-
指示器,通配符,查看全部
-
主要注解查看全部
-
使用方式有两种,xml配置方式和注解方式查看全部
-
课程总结:
1.面向切面编程是对面向对象编程的补充,主要用于日志记录,权限验证,事务配置等功能。
2.使用aspectJ实现aop,aspectJ是一个面向切面的框架,它扩展了Java语言。
3.主要注解:
@Aspect 标注说明Java类是切面配置的类 由@Pointcut和@Advice组成
@Pointcut 描述在哪些类的哪些方法植入代码
@Advice表达在Pointcut表达式的什么时间执行
4. pointcut中的通配符,运算符,指示器(通过什么方式匹配植入的方法)
通配符:* 匹配任意数量的字符 +匹配指定类及其子类 ..一般用于匹配任意数的子包或参数
运算符:&&与操作符 || 或操作符 !非操作符
指示器:
a. @within 匹配包/类型
@Pointcut("within(com.imooc.service.ProductService")) //匹配ProductService类里的所有方法
@Pointcut("within(com.imooc..*)") //匹配com.imooc包及子包下所有类的方法
b. execution 表达式:方法的修饰符 返回值 包名.类名.方法(参数)
@Pointcut("execution(public * com.imooc.service.*Service.*(..))")//表示com.imooc.service包下以Service字符结尾的类中任意参数的所有方法
5.Advice 注明要在哪个切点执行什么操作,有几种方式
@Before("") //意思是在切点执行前执行
@After("") //意思是在切点执行前执行
@Around("") //表明在切点方法的前后都要执行该处理器方法
查看全部 -
SpringBoot对缓存的一个控制: 1、引入依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> </dependency> 2、使用注解: @Cacheable(cacheNames={"menu"}) public List<String> getMenuList(){ System.out.println("看看是不是只有第一次被调用"); return Arrays.asList("java","C++","PHP"); }
查看全部
举报