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
)