Class SpringBeanContainer
java.lang.Object
org.springframework.orm.hibernate5.SpringBeanContainer
- All Implemented Interfaces:
BeanContainer
,Stoppable
Spring's implementation of Hibernate's
BeanContainer
SPI,
delegating to a Spring ConfigurableListableBeanFactory
.
Auto-configured by LocalSessionFactoryBean.setBeanFactory(org.springframework.beans.factory.BeanFactory)
,
programmatically supported via LocalSessionFactoryBuilder.setBeanContainer(org.springframework.beans.factory.config.ConfigurableListableBeanFactory)
,
and manually configurable through a "hibernate.resource.beans.container" entry
in JPA properties, for example:
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> ... <property name="jpaPropertyMap"> <map> <entry key="hibernate.resource.beans.container"> <bean class="org.springframework.orm.hibernate5.SpringBeanContainer"/> </entry> </map> </property> </bean>Or in Java-based JPA configuration:
LocalContainerEntityManagerFactoryBean emfb = ... emfb.getJpaPropertyMap().put(AvailableSettings.BEAN_CONTAINER, new SpringBeanContainer(beanFactory));Please note that Spring's
LocalSessionFactoryBean
is an immediate alternative
to LocalContainerEntityManagerFactoryBean
for
common JPA purposes: The Hibernate SessionFactory
will natively expose the JPA
EntityManagerFactory
interface as well, and Hibernate BeanContainer
integration will be registered out of the box.- Since:
- 5.1
- Author:
- Juergen Hoeller
- See Also:
-
LocalSessionFactoryBean.setBeanFactory(org.springframework.beans.factory.BeanFactory)
LocalSessionFactoryBuilder.setBeanContainer(org.springframework.beans.factory.config.ConfigurableListableBeanFactory)
AbstractEntityManagerFactoryBean.setJpaPropertyMap(java.util.Map<java.lang.String, ?>)
AvailableSettings.BEAN_CONTAINER
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.hibernate.resource.beans.container.spi.BeanContainer
BeanContainer.LifecycleOptions
-
Constructor Summary
ConstructorDescriptionSpringBeanContainer
(ConfigurableListableBeanFactory beanFactory) Instantiate a new SpringBeanContainer for the given bean factory. -
Method Summary
Modifier and TypeMethodDescription<B> ContainedBean<B>
getBean
(Class<B> beanType, BeanContainer.LifecycleOptions lifecycleOptions, BeanInstanceProducer fallbackProducer) <B> ContainedBean<B>
getBean
(String name, Class<B> beanType, BeanContainer.LifecycleOptions lifecycleOptions, BeanInstanceProducer fallbackProducer) void
stop()
-
Constructor Details
-
SpringBeanContainer
Instantiate a new SpringBeanContainer for the given bean factory.- Parameters:
beanFactory
- the Spring bean factory to delegate to
-
-
Method Details
-
getBean
public <B> ContainedBean<B> getBean(Class<B> beanType, BeanContainer.LifecycleOptions lifecycleOptions, BeanInstanceProducer fallbackProducer) - Specified by:
getBean
in interfaceBeanContainer
-
getBean
public <B> ContainedBean<B> getBean(String name, Class<B> beanType, BeanContainer.LifecycleOptions lifecycleOptions, BeanInstanceProducer fallbackProducer) - Specified by:
getBean
in interfaceBeanContainer
-
stop
public void stop()
-