| java.lang.Object | |
| ↳ | org.springframework.ejb.interceptor.SpringBeanAutowiringInterceptor |
EJB3-compliant interceptor class that injects Spring beans into
fields and methods which are annotated with @Autowired.
Performs injection after construction as well as after activation
of a passivated bean.
To be applied through an @Interceptors annotation in
the EJB Session Bean or Message-Driven Bean class, or through an
interceptor-binding XML element in the EJB deployment descriptor.
Delegates to Spring's AutowiredAnnotationBeanPostProcessor
underneath, allowing for customization of its specific settings through
overriding the configureBeanPostProcessor(AutowiredAnnotationBeanPostProcessor, Object) template method.
The actual BeanFactory to obtain Spring beans from is determined
by the getBeanFactory(Object) template method. The default implementation
obtains the Spring ContextSingletonBeanFactoryLocator, initialized
from the default resource location classpath*:beanRefContext.xml,
and obtains the single ApplicationContext defined there.
NOTE: If you have more than one shared ApplicationContext definition available
in your EJB class loader, you need to override the getBeanFactoryLocatorKey(Object)
method and provide a specific locator key for each autowired EJB.
Alternatively, override the getBeanFactory(Object) template method and
obtain the target factory explicitly.
WARNING: Do not define the same bean as Spring-managed bean and as
EJB3 session bean in the same deployment unit. In particular, be
careful when using the <context:component-scan> feature
in combination with the deployment of Spring-based EJB3 session beans:
Make sure that the EJB3 session beans are not autodetected as
Spring-managed beans as well, using appropriate package restrictions.
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Autowire the target bean after construction as well as after passivation.
| |||||||||||
Release the factory which has been used for autowiring the target bean.
| |||||||||||
| Protected Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Template method for configuring the
AutowiredAnnotationBeanPostProcessor used for autowiring. | |||||||||||
Actually autowire the target bean after construction/passivation.
| |||||||||||
Actually release the BeanFactoryReference for the given target bean.
| |||||||||||
Determine the BeanFactory for autowiring the given target bean.
| |||||||||||
Determine the BeanFactoryLocator to obtain the BeanFactoryReference from.
| |||||||||||
Determine the BeanFactoryLocator key to use.
| |||||||||||
Determine the BeanFactoryReference for the given target bean.
| |||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
Autowire the target bean after construction as well as after passivation.
| invocationContext | the EJB3 invocation context |
|---|
Release the factory which has been used for autowiring the target bean.
| invocationContext | the EJB3 invocation context |
|---|
Template method for configuring the
AutowiredAnnotationBeanPostProcessor used for autowiring.
| processor | the AutowiredAnnotationBeanPostProcessor to configure |
|---|---|
| target | the target bean to autowire with this processor |
Actually autowire the target bean after construction/passivation.
| target | the target bean to autowire |
|---|
Actually release the BeanFactoryReference for the given target bean.
| target | the target bean to release |
|---|
Determine the BeanFactory for autowiring the given target bean.
| target | the target bean to autowire |
|---|
null)Determine the BeanFactoryLocator to obtain the BeanFactoryReference from.
The default implementation exposes Spring's default
ContextSingletonBeanFactoryLocator.
| target | the target bean to autowire |
|---|
null)Determine the BeanFactoryLocator key to use. This typically indicates the bean name of the ApplicationContext definition in classpath*:beanRefContext.xml resource files.
The default is null, indicating the single
ApplicationContext defined in the locator. This must be overridden
if more than one shared ApplicationContext definition is available.
| target | the target bean to autowire |
|---|
null for
referring to the single ApplicationContext defined in the locator)
Determine the BeanFactoryReference for the given target bean.
The default implementation delegates to getBeanFactoryLocator(Object)
and getBeanFactoryLocatorKey(Object).
| target | the target bean to autowire |
|---|
null)