Package org.springframework.web.context

# Class AbstractContextLoaderInitializer

java.lang.Object
org.springframework.web.context.AbstractContextLoaderInitializer

All Implemented Interfaces:
  `WebApplicationInitializer`

public abstract class AbstractContextLoaderInitializer extends Object implements WebApplicationInitializer
Convenient base class for `WebApplicationInitializer` implementations that register a `ContextLoaderListener` in the servlet context.

The only method required to be implemented by subclasses is `createRootApplicationContext()`, which gets invoked from `registerContextLoaderListener(ServletContext)`.

Since:
  3.2
Author:
  Arjen Poutsma, Chris Beams, Juergen Hoeller

## Field Summary

Fields
Modifier and Type
Field
Description
`protected final org.apache.commons.logging.Log`
`logger`
Logger available to subclasses.

## Constructor Summary

Constructors
Constructor
Description
`AbstractContextLoaderInitializer()`

## Method Summary

Modifier and Type
Method
Description
`protected abstract WebApplicationContext`
`createRootApplicationContext()`
Create the "root" application context to be provided to the `ContextLoaderListener`.
`protected org.springframework.context.ApplicationContextInitializer<?>[]`
`getRootApplicationContextInitializers()`
Specify application context initializers to be applied to the root application context that the `ContextLoaderListener` is being created with.
`void`
`onStartup(ServletContext servletContext)`
Configure the given `ServletContext` with any servlets, filters, listeners context-params and attributes necessary for initializing this web application.
`protected void`
`registerContextLoaderListener(ServletContext servletContext)`
Register a `ContextLoaderListener` against the given servlet context.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### logger

protected final org.apache.commons.logging.Log logger
Logger available to subclasses.

## Constructor Details

### AbstractContextLoaderInitializer

public AbstractContextLoaderInitializer()

## Method Details

### onStartup

public void onStartup(ServletContext servletContext) throws ServletException
Description copied from interface: `WebApplicationInitializer`
Configure the given `ServletContext` with any servlets, filters, listeners context-params and attributes necessary for initializing this web application. See examples above.

Specified by:
  `onStartup` in interface `WebApplicationInitializer`
Parameters:
  `servletContext` - the `ServletContext` to initialize
Throws:
  `ServletException` - if any call against the given `ServletContext` throws a `ServletException`

### registerContextLoaderListener

protected void registerContextLoaderListener(ServletContext servletContext)
Register a `ContextLoaderListener` against the given servlet context. The `ContextLoaderListener` is initialized with the application context returned from the `createRootApplicationContext()` template method.

Parameters:
  `servletContext` - the servlet context to register the listener against

### createRootApplicationContext

@Nullable protected abstract WebApplicationContext createRootApplicationContext()
Create the "root" application context to be provided to the `ContextLoaderListener`.

The returned context is delegated to `ContextLoaderListener(WebApplicationContext)` and will be established as the parent context for any `DispatcherServlet` application contexts. As such, it typically contains middle-tier services, data sources, etc.

Returns:
  the root application context, or `null` if a root context is not desired
See Also:
  - `org.springframework.web.servlet.support.AbstractDispatcherServletInitializer`

### getRootApplicationContextInitializers

@Nullable protected org.springframework.context.ApplicationContextInitializer<?>[] getRootApplicationContextInitializers()
Specify application context initializers to be applied to the root application context that the `ContextLoaderListener` is being created with.

Since:
  4.2
See Also:
  - `createRootApplicationContext()`
  - `ContextLoader.setContextInitializers(org.springframework.context.ApplicationContextInitializer<?>...)`