类 ApplicationObjectSupport
- java.lang.Object
- org.springframework.context.support.ApplicationObjectSupport
- 所有已实现的接口:
Aware
,ApplicationContextAware
public abstract class ApplicationObjectSupport extends Object implements ApplicationContextAware
Convenient superclass for application objects that want to be aware of the application context, e.g. for custom lookup of collaborating beans or for context-specific resource access. It saves the application context reference and provides an initialization callback method. Furthermore, it offers numerous convenience methods for message lookup.There is no requirement to subclass this class: It just makes things a little easier if you need access to the context, e.g. for access to file resources or to the message source. Note that many application objects do not need to be aware of the application context at all, as they can receive collaborating beans via bean references.
Many framework classes are derived from this class, particularly within the web support.
- 作者:
- Rod Johnson, Juergen Hoeller
- 另请参阅:
WebApplicationObjectSupport
构造器概要
构造器 构造器 说明 ApplicationObjectSupport()
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 ApplicationContext
getApplicationContext()
Return the ApplicationContext that this object is associated with.protected MessageSourceAccessor
getMessageSourceAccessor()
Return a MessageSourceAccessor for the application context used by this object, for easy message access.protected void
initApplicationContext()
Subclasses can override this for custom initialization behavior.protected void
initApplicationContext(ApplicationContext context)
Subclasses can override this for custom initialization behavior.protected boolean
isContextRequired()
Determine whether this application object needs to run in an ApplicationContext.protected ApplicationContext
obtainApplicationContext()
Obtain the ApplicationContext for actual use.protected Class<?>
requiredContextClass()
Determine the context class that any context passed tosetApplicationContext
must be an instance of.void
setApplicationContext(ApplicationContext context)
Set the ApplicationContext that this object runs in.
构造器详细资料
ApplicationObjectSupport
public ApplicationObjectSupport()
方法详细资料
setApplicationContext
public final void setApplicationContext(@Nullable ApplicationContext context) throws BeansException
从接口复制的说明:ApplicationContextAware
Set the ApplicationContext that this object runs in. Normally this call will be used to initialize the object.Invoked after population of normal bean properties but before an init callback such as
InitializingBean.afterPropertiesSet()
or a custom init-method. Invoked afterResourceLoaderAware.setResourceLoader(org.springframework.core.io.ResourceLoader)
,ApplicationEventPublisherAware.setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher)
andMessageSourceAware
, if applicable.- 指定者:
setApplicationContext
在接口中ApplicationContextAware
- 参数:
context
- the ApplicationContext object to be used by this object- 抛出:
ApplicationContextException
- in case of context initialization errorsBeansException
- if thrown by application context methods- 另请参阅:
BeanInitializationException
isContextRequired
protected boolean isContextRequired()
Determine whether this application object needs to run in an ApplicationContext.Default is "false". Can be overridden to enforce running in a context (i.e. to throw IllegalStateException on accessors if outside a context).
requiredContextClass
protected Class<?> requiredContextClass()
Determine the context class that any context passed tosetApplicationContext
must be an instance of. Can be overridden in subclasses.
initApplicationContext
protected void initApplicationContext(ApplicationContext context) throws BeansException
Subclasses can override this for custom initialization behavior. Gets called bysetApplicationContext
after setting the context instance.Note: Does not get called on re-initialization of the context but rather just on first initialization of this object's context reference.
The default implementation calls the overloaded
initApplicationContext()
method without ApplicationContext reference.- 参数:
context
- the containing ApplicationContext- 抛出:
ApplicationContextException
- in case of initialization errorsBeansException
- if thrown by ApplicationContext methods- 另请参阅:
setApplicationContext(org.springframework.context.ApplicationContext)
initApplicationContext
protected void initApplicationContext() throws BeansException
Subclasses can override this for custom initialization behavior.The default implementation is empty. Called by
initApplicationContext(org.springframework.context.ApplicationContext)
.- 抛出:
ApplicationContextException
- in case of initialization errorsBeansException
- if thrown by ApplicationContext methods- 另请参阅:
setApplicationContext(org.springframework.context.ApplicationContext)
getApplicationContext
@Nullable public final ApplicationContext getApplicationContext() throws IllegalStateException
Return the ApplicationContext that this object is associated with.- 抛出:
IllegalStateException
- if not running in an ApplicationContext
obtainApplicationContext
protected final ApplicationContext obtainApplicationContext()
Obtain the ApplicationContext for actual use.- 返回:
- the ApplicationContext (never
null
) - 抛出:
IllegalStateException
- in case of no ApplicationContext set- 从以下版本开始:
- 5.0
getMessageSourceAccessor
@Nullable protected final MessageSourceAccessor getMessageSourceAccessor() throws IllegalStateException
Return a MessageSourceAccessor for the application context used by this object, for easy message access.- 抛出:
IllegalStateException
- if not running in an ApplicationContext