revised section on inheriting annotations from interfaces

This commit is contained in:
Juergen Hoeller 2009-12-09 15:32:58 +00:00
parent 31144591b0
commit 3ffc2ba48d
1 changed files with 3 additions and 5 deletions

View File

@ -1416,9 +1416,7 @@ public class DefaultFooService implements FooService {
<interfacename>@Transactional</interfacename> annotation is not enough <interfacename>@Transactional</interfacename> annotation is not enough
to activate the transactional behavior. The to activate the transactional behavior. The
<interfacename>@Transactional</interfacename> annotation is simply <interfacename>@Transactional</interfacename> annotation is simply
metadata that can be consumed by something<!--Please identify *something* . metadata that can be consumed by some runtime infrastructure that is
TR: OK AS IS.it's not defined what this something is. could be code written by the user or could be an
existing BeanPostProcessor provided or something else--> that is
<interfacename>@Transactional</interfacename>-aware and that can use the <interfacename>@Transactional</interfacename>-aware and that can use the
metadata to configure the appropriate beans with transactional behavior. metadata to configure the appropriate beans with transactional behavior.
In the preceding example, the In the preceding example, the
@ -1433,8 +1431,8 @@ existing BeanPostProcessor provided or something else--> that is
<interfacename>@Transactional</interfacename> annotation on an <interfacename>@Transactional</interfacename> annotation on an
interface (or an interface method), but this works only as you would interface (or an interface method), but this works only as you would
expect it to if you are using interface-based proxies. The fact that expect it to if you are using interface-based proxies. The fact that
annotations are <emphasis>not inherited</emphasis> means that if you Java annotations are <emphasis>not inherited from interfaces</emphasis>
are using class-based proxies means that if you are using class-based proxies
(<literal>proxy-target-class="true"</literal>) or the weaving-based (<literal>proxy-target-class="true"</literal>) or the weaving-based
aspect (<literal>mode="aspectj"</literal>), then the transaction aspect (<literal>mode="aspectj"</literal>), then the transaction
settings are not recognized by the proxying and weaving settings are not recognized by the proxying and weaving