|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.orm.hibernate.support.DependencyInjectionAspectSupport org.springframework.orm.hibernate.support.DependencyInjectionInterceptorFactoryBean
public class DependencyInjectionInterceptorFactoryBean
Allows Spring to create and wire up objects that come from Hibernate. This enables richer domain models, with domain objects able to access business objects.
When creating such objects in application code, before persisting them, you can apply configuration manually via Setters, use factory autowiring, or obtain a prototype from the factory. A dependency on Spring IoC can be avoided by using a lookup-method to obtain the prototype instance.
This is a factory bean, as we want to extend DependencyInjectionAspectSupport yet be usable as a Hibernate Interceptor.
Typically, the Hibernate SessionFactory will be set via the "sessionFactoryName" property: this avoids a circular dependency between SessionFactory (requiring an Interceptor) and this Interceptor (requiring a SessionFactory).
Based on a constribution by Oliver Hutchison. Thanks also to Seth Ladd.
DependencyInjectionInterceptorFactoryBean.DependencyInjectionInterceptor
Nested Class Summary | |
---|---|
protected class |
DependencyInjectionInterceptorFactoryBean.DependencyInjectionInterceptor
Class of Hibernate Interceptor returned by this factory. |
Nested classes/interfaces inherited from class org.springframework.orm.hibernate.support.DependencyInjectionAspectSupport |
---|
DependencyInjectionAspectSupport.NoAutowiringConfigurationForClassException |
Field Summary | |
---|---|
static java.util.concurrent.atomic.AtomicBoolean |
ENABLED
|
Fields inherited from class org.springframework.orm.hibernate.support.DependencyInjectionAspectSupport |
---|
autowireByTypeClasses, log |
Constructor Summary | |
---|---|
DependencyInjectionInterceptorFactoryBean()
|
Method Summary | |
---|---|
net.sf.hibernate.Interceptor |
getNextInterceptor()
Reutn the next Interceptor in the chain, or null if this is the only interceptor. |
java.lang.Object |
getObject()
|
java.lang.Class |
getObjectType()
|
boolean |
isSingleton()
|
void |
setNextInterceptor(net.sf.hibernate.Interceptor nextInterceptor)
As Hibernate doesn't support chaining of interceptors natively, we add the ability for chaining via a delegate. |
void |
setSessionFactory(net.sf.hibernate.SessionFactory sessionFactory)
We need the Hibernate SessionFactory to work out identifier property name to set PK on object. |
void |
setSessionFactoryName(java.lang.String sessionFactoryName)
Alternative to the sessionFactory property. |
protected void |
validateProperties()
Subclasses should implement this to validate their configuration |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.util.concurrent.atomic.AtomicBoolean ENABLED
Constructor Detail |
---|
public DependencyInjectionInterceptorFactoryBean()
Method Detail |
---|
public void setNextInterceptor(net.sf.hibernate.Interceptor nextInterceptor)
public net.sf.hibernate.Interceptor getNextInterceptor()
public void setSessionFactory(net.sf.hibernate.SessionFactory sessionFactory)
sessionFactory
- bean name of the Hibernate SessionFactory
this interceptor should configure persistent object instances forpublic void setSessionFactoryName(java.lang.String sessionFactoryName)
sessionFactoryName
- bean name of the Hibernate SessionFactory
this interceptor should configure persistent object instances forprotected void validateProperties()
DependencyInjectionAspectSupport
validateProperties
in class DependencyInjectionAspectSupport
public java.lang.Object getObject() throws java.lang.Exception
getObject
in interface org.springframework.beans.factory.FactoryBean
java.lang.Exception
public java.lang.Class getObjectType()
getObjectType
in interface org.springframework.beans.factory.FactoryBean
public boolean isSingleton()
isSingleton
in interface org.springframework.beans.factory.FactoryBean
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |