11[[aop-api]]
22= Spring AOP APIs
33
4-
5-
64The previous chapter described the Spring's support for AOP with
75@AspectJ and schema-based aspect definitions. In this chapter, we discuss the lower-level
86Spring AOP APIs and the AOP support typically used in Spring 1.2 applications. For new
@@ -14,6 +12,7 @@ in Spring 5.
1412
1513
1614
15+
1716[[aop-api-pointcuts]]
1817== Pointcut API in Spring
1918
@@ -129,7 +128,6 @@ Spring provides several convenient pointcut implementations. You can use some of
129128Others are intended to be subclassed in application-specific pointcuts.
130129
131130
132-
133131[[aop-api-pointcuts-static]]
134132==== Static Pointcuts
135133
@@ -198,16 +196,13 @@ pointcut and advice, as the following example shows:
198196
199197You can use `RegexpMethodPointcutAdvisor` with any `Advice` type.
200198
201-
202-
203199[[aop-api-pointcuts-attribute-driven]]
204200===== Attribute-driven Pointcuts
205201
206202An important type of static pointcut is a metadata-driven pointcut. This uses the
207203values of metadata attributes (typically, source-level metadata).
208204
209205
210-
211206[[aop-api-pointcuts-dynamic]]
212207==== Dynamic pointcuts
213208
@@ -276,6 +271,7 @@ for example, "`all methods that change instance variables in the target object.`
276271
277272
278273
274+
279275[[aop-api-advice]]
280276== Advice API in Spring
281277
@@ -366,7 +362,6 @@ are not currently interoperable between frameworks, and the AOP Alliance does no
366362currently define pointcut interfaces.
367363
368364
369-
370365[[aop-api-advice-before]]
371366==== Before Advice
372367
@@ -425,7 +420,6 @@ The following example shows a before advice in Spring, which counts all method i
425420TIP: Before advice can be used with any pointcut.
426421
427422
428-
429423[[aop-api-advice-throws]]
430424==== Throws Advice
431425
@@ -511,7 +505,6 @@ exception that is incompatible with the target method's signature!_
511505TIP: Throws advice can be used with any pointcut.
512506
513507
514-
515508[[aop-api-advice-after-returning]]
516509==== After Returning Advice
517510
@@ -562,7 +555,6 @@ thrown up the interceptor chain instead of the return value.
562555TIP: After returning advice can be used with any pointcut.
563556
564557
565-
566558[[aop-api-advice-introduction]]
567559==== Introduction Advice
568560
@@ -738,6 +730,8 @@ and stateful mixins.
738730
739731
740732
733+
734+
741735[[aop-api-advisor]]
742736== The Advisor API in Spring
743737
@@ -756,6 +750,7 @@ chain.
756750
757751
758752
753+
759754[[aop-pfb]]
760755== Using the `ProxyFactoryBean` to Create AOP Proxies
761756
@@ -1085,6 +1080,7 @@ two global advisors:
10851080
10861081
10871082
1083+
10881084[[aop-concise-proxy]]
10891085== Concise Proxy Definitions
10901086
@@ -1164,6 +1160,7 @@ pre-instantiate it.
11641160
11651161
11661162
1163+
11671164[[aop-prog]]
11681165== Creating AOP Proxies Programmatically with the `ProxyFactory`
11691166
@@ -1205,6 +1202,7 @@ as you should in general.
12051202
12061203
12071204
1205+
12081206[[aop-api-advised]]
12091207== Manipulating Advised Objects
12101208
@@ -1298,6 +1296,7 @@ required.
12981296
12991297
13001298
1299+
13011300[[aop-autoproxy]]
13021301== Using the "auto-proxy" facility
13031302
@@ -1327,7 +1326,6 @@ This section covers the auto-proxy creators provided by the
13271326`org.springframework.aop.framework.autoproxy` package.
13281327
13291328
1330-
13311329[[aop-api-autoproxy]]
13321330==== `BeanNameAutoProxyCreator`
13331331
@@ -1435,6 +1433,7 @@ preceding example has a configurable order value. The default setting is unorder
14351433
14361434
14371435
1436+
14381437[[aop-targetsource]]
14391438== Using `TargetSource` Implementations
14401439
@@ -1552,7 +1551,7 @@ The following listig shows an example configuration:
15521551
15531552Note that the target object (`businessObjectTarget` in the preceding example) must be a
15541553prototype. This lets the `PoolingTargetSource` implementation create new instances
1555- of the target to grow the pool as necessary. See the {api-spring-framework}aop/target/AbstractPoolingTargetSource.html[Javadoc of
1554+ of the target to grow the pool as necessary. See the {api-spring-framework}aop/target/AbstractPoolingTargetSource.html[javadoc of
15561555`AbstractPoolingTargetSource`] and the concrete subclass you wish to use for information
15571556about its properties. `maxSize` is the most basic and is always guaranteed to be present.
15581557
@@ -1661,6 +1660,7 @@ any case, since not unsetting it might result in problematic behavior. Spring's
16611660
16621661
16631662
1663+
16641664[[aop-extensibility]]
16651665== Defining New Advice Types
16661666
@@ -1674,5 +1674,5 @@ support for new custom advice types be added without changing the core framework
16741674The only constraint on a custom `Advice` type is that it must implement the
16751675`org.aopalliance.aop.Advice` marker interface.
16761676
1677- See the {api-spring-framework}/aop/framework/adapter/package-frame.html[`org.springframework.aop.framework.adapter` Javadoc] for further
1678- information.
1677+ See the {api-spring-framework}/aop/framework/adapter/package-frame.html[`org.springframework.aop.framework.adapter`]
1678+ javadoc for further information.
0 commit comments