核心思想:在不改變原有的**情況下,實現對原有功能的增強
1、spring 中基於 aop 的 xml架構為了使用 aop 命名空間標籤,需要匯入 spring-aop 架構
<?xml version="1.0" encoding="utf-8"?>
xmlns
=""xmlns:xsi
=""xmlns:aop
=""xsi:schemalocation
="/spring-beans-3.0.xsd
/spring-aop-3.0.xsd "
>
beans
>
2、宣告乙個 aspect<
aop:config
>
<
aop:aspectid=
"myaspect"
ref="abean"
>
<
aop:pointcutid=
"businessservice"
expression
=/>
<
aop:before
pointcut-ref
="businessservice"
method
="dorequiredtask"
/>
<
aop:after
pointcut-ref
="businessservice"
method
="dorequiredtask"
/>
<
aop:after-returning
pointcut-ref
="businessservice"
returning
="retval"
method
="dorequiredtask"
/>
<
aop:after-throwing
pointcut-ref
="businessservice"
throwing
="ex"
method
="dorequiredtask"
/>
<
aop:around
pointcut-ref
="businessservice"
method
="dorequiredtask"
/>
...aop:aspect
>
aop:config
>
"abean"
class
="..."
>
...bean
>
3、例項**public
class
logging
public
void
afteradvice()
public
void
afterreturningadvice
(object retval)
}
4、註解實現@aspect
public
class
logging
@after
(value=
"execution(* com.zc.pojo.student.*(..))"
)public
void
afteradvice()
@afterreturning
(value=
"execution(* com.zc.pojo.student.*(..))"
,returning =
"retval"
)public
void
afterreturningadvice
(object retval)
}
@afterreturning(value="execution( com.zc.pojo.student.*(…))",returning = 「retval」)有返回值如果不寫上returning = 「retval」,會報錯:error at ::0 formal unbound in pointcut*
<?xml version="1.0" encoding="utf-8"?>
xmlns
=""xmlns:xsi
=""xmlns:aop
=""xsi:schemalocation
="/spring-beans-3.0.xsd
/spring-aop-3.0.xsd "
>
"student"
class
="com.zc.pojo.student"
>
name
="namestring"
value
="小肚子"
/>
name
="age"
value
="15"
/>
bean
>
"logging"
class
="com.zc.pojo.logging"
/>
<
aop:aspectj-autoproxy
/>
beans
>
spring框架中的AOP
在spring框架中學習與測試aop。第一步 需要匯入對應的所需要的jar包 第二步 在beans.xml檔案中進行配置 命名標籤的配置 注意 要在配置中加入我注釋的那三行。第一次把第一行漏掉了,導致我在接下來的步驟中報錯,直接無法找到對應的命名標籤。第三步 即可對aop進行例項操作了。由於才開始學...
Spring中AOP的使用
1.引入jar包 2.在測試類中新增註解 新增測試的註解的位置 runwith springjunit4classrunner.class public class aoptest 1在工程中引入spring基本jar包 2.引入aop開發的相關jar包 4.在核心配置檔案中加入約束 5.建立切面類...
Spring中的AOP實現
aop是乙個面像切點,比如,如果寫好乙個專案後,想要繼續給其新增功能,按照以前的寫法就需要更該以前所寫好的 而aop就是把這一項缺陷所彌補 並aop面像切點只可在spring中使用 beans 3,建立好幾個測試用的類,乙個所需要插入的類,乙個提供插入的類 還有測試類,並實現裡面的方法 4,在aop...