org.springframework.orm.jpa.support
Class PersistenceAnnotationBeanPostProcessor
java.lang.Object
org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorAdapter
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor
- All Implemented Interfaces:
- BeanFactoryAware, BeanPostProcessor, InstantiationAwareBeanPostProcessor
public class PersistenceAnnotationBeanPostProcessor
- extends InstantiationAwareBeanPostProcessorAdapter
- implements BeanFactoryAware
BeanPostProcessor that processes PersistenceUnit
and PersistenceContext annotations, for injection of
the corresponding JPA resources EntityManagerFactory
and EntityManager. Any such annotated fields or methods
in any Spring-managed object will automatically be injected.
This post-processor will inject sub-interfaces of EntityManagerFactory
and EntityManager if the annotated fields or methods are declared as such.
The actual type will be verified early, with the exception of a shared ("transactional")
EntityManager reference, where type mismatches might be detected as late
as on the first actual invocation.
- Since:
- 2.0
- Author:
- Rod Johnson, Juergen Hoeller
- See Also:
PersistenceUnit,
PersistenceContext
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
logger
protected final Log logger
PersistenceAnnotationBeanPostProcessor
public PersistenceAnnotationBeanPostProcessor()
setBeanFactory
public void setBeanFactory(BeanFactory beanFactory)
- Description copied from interface:
BeanFactoryAware
- Callback that supplies the owning factory to a bean instance.
Invoked after the population of normal bean properties but
before an initialization callback such as
InitializingBean.afterPropertiesSet()
or a custom init-method.
- Specified by:
setBeanFactory in interface BeanFactoryAware
- Parameters:
beanFactory - owning BeanFactory (may not be null).
The bean can immediately call methods on the factory.- See Also:
BeanInitializationException
postProcessAfterInstantiation
public boolean postProcessAfterInstantiation(Object bean,
String beanName)
throws BeansException
- Description copied from interface:
InstantiationAwareBeanPostProcessor
- Perform operations after the bean has been instantiated, via a constructor or factory method,
but before Spring property population (from explicit properties or autowiring) occurs.
- Specified by:
postProcessAfterInstantiation in interface InstantiationAwareBeanPostProcessor- Overrides:
postProcessAfterInstantiation in class InstantiationAwareBeanPostProcessorAdapter
- Parameters:
bean - the bean instance created, but whose properties have not yet been setbeanName - the name of the bean
- Returns:
true if properties should be set on the bean; false
if property population should be skipped. Normal implementations should return true.
Returning false will also prevent any subsequent InstantiationAwareBeanPostProcessor
instances being invoked on this bean instance.
- Throws:
BeansException - in case of errors
findEntityManagerFactory
protected javax.persistence.EntityManagerFactory findEntityManagerFactory(String emfName)
throws IllegalStateException
- Find an EntityManagerFactory with the given name in the current application context.
- Parameters:
emfName - the name of the EntityManagerFactory
- Returns:
- the EntityManagerFactory
- Throws:
IllegalStateException - if there is no such EntityManagerFactory in the context
findNamedEntityManagerFactory
protected javax.persistence.EntityManagerFactory findNamedEntityManagerFactory(String emfName)
findDefaultEntityManagerFactory
protected javax.persistence.EntityManagerFactory findDefaultEntityManagerFactory()
Copyright © 2002-2006 The Spring Framework.