本文主要是介绍spring的切面编程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
大家好,这里是教授.F
前置条件:
需要引入核心的aspect包
前置通知:@Before
返回通知:@AfterReturning
异常通知:@AfterThrowing
后置通知:@After
环绕通知:@Around
切面编程说白了就是在一个方法的执行再细分出前中后等等。我们使用@Before就能在执行前插入一些操作,使用@After就能在方法执行后进行一些操作。这就是所谓的切面编程,只要了解了动态代理,在理解切面编程,问题不大。
细节说明:
1. 关于切面类方法命名可以自己规范一下, 比如 showBeginLog() . showSuccessEndLog()showExceptionLog(), showFinallyEndLog()
2. 切入表达式的更多配置,比如使用模糊配置 @Before(value="execution(* com.hspedu.aop.proxy.SmartDog.*(..))")
3. 表示所有访问权限,所有包的下所有有类的所方法,都会被执行该前置通知方法@Before(value="execution(* *.*(..))")
4. 当 spring 容器开启了 , 我们获取注入的对象, 需要以接口的类型来获取, 因为你注入的对象.getClass() 已经是代理类型了!
5. 当 spring 容器开启了 , 我们获取注入的对象, 也可以通过 id 来获取, 但是也要转成接口类型.
这篇关于spring的切面编程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!