java.lang.Object
org.apache.wicket.spring.SpringWebApplicationFactory
- All Implemented Interfaces:
IWebApplicationFactory
- Direct Known Subclasses:
AnnotationConfigSpringWebApplicationFactory
Implementation of IWebApplicationFactory that pulls the WebApplication object out of spring
application context.
Configuration example:
<filter> <filter-name>MyApplication</filter-name> <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> <init-param> <param-name>applicationFactoryClassName</param-name> <param-value>org.apache.wicket.spring.SpringWebApplicationFactory</param-value> </init-param> </filter>
applicationBean
init parameter can be used if there are multiple WebApplications
defined on the spring application context.
Example:
<filter> <filter-name>MyApplication</filter-name> <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> <init-param> <param-name>applicationFactoryClassName</param-name> <param-value>org.apache.wicket.spring.SpringWebApplicationFactory</param-value> </init-param> <init-param> <param-name>applicationBean</param-name> <param-value>phonebookApplication</param-value> </init-param> </filter>
This factory is also capable of creating a WebApplication
-specific application context
(path to which is specified via the contextConfigLocation
filter param) and chaining it
to the global one
<filter> <filter-name>MyApplication</filter-name> <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> <init-param> <param-name>applicationFactoryClassName</param-name> <param-value>org.apache.wicket.spring.SpringWebApplicationFactory</param-value> </init-param> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:com/myapplication/customers-app/context.xml</param-value> </init-param> </filter>
- Author:
- Igor Vaynberg (ivaynberg), Janne Hietamäki (jannehietamaki)
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncreateApplication
(WicketFilter filter) Create application objectprotected final org.springframework.web.context.ConfigurableWebApplicationContext
createWebApplicationContext
(org.springframework.web.context.WebApplicationContext parent, WicketFilter filter) Creates and initializes a newWebApplicationContext
, with the given context as the parent.void
destroy
(WicketFilter filter) Called when the filter instance that used this factory is destroyedprotected final String
getContextConfigLocation
(WicketFilter filter) Returns location of context config that will be used to create aWebApplication
-specific application context.protected org.springframework.web.context.ConfigurableWebApplicationContext
Factory method used to create a new instance of the web application context, by default an instance ofXmlWebApplicationContext
will be created.protected void
postProcessWebApplicationContext
(org.springframework.web.context.ConfigurableWebApplicationContext wac, WicketFilter filter) This is a hook for potential subclasses to perform additional processing on the context.
-
Constructor Details
-
SpringWebApplicationFactory
public SpringWebApplicationFactory()
-
-
Method Details
-
getContextConfigLocation
Returns location of context config that will be used to create aWebApplication
-specific application context.- Parameters:
filter
-- Returns:
- location of context config
-
newApplicationContext
Factory method used to create a new instance of the web application context, by default an instance ofXmlWebApplicationContext
will be created.- Returns:
- application context instance
-
createApplication
Description copied from interface:IWebApplicationFactory
Create application object- Specified by:
createApplication
in interfaceIWebApplicationFactory
- Parameters:
filter
- the wicket filter- Returns:
- application object instance
-
createWebApplicationContext
protected final org.springframework.web.context.ConfigurableWebApplicationContext createWebApplicationContext(org.springframework.web.context.WebApplicationContext parent, WicketFilter filter) throws org.springframework.beans.BeansException Creates and initializes a newWebApplicationContext
, with the given context as the parent. Based on the logic in Spring's FrameworkServlet#createWebApplicationContext()- Parameters:
parent
- parent application contextfilter
- wicket filter- Returns:
- instance of web application context
- Throws:
org.springframework.beans.BeansException
-
postProcessWebApplicationContext
protected void postProcessWebApplicationContext(org.springframework.web.context.ConfigurableWebApplicationContext wac, WicketFilter filter) This is a hook for potential subclasses to perform additional processing on the context. Based on the logic in Spring's FrameworkServlet#postProcessWebApplicationContext()- Parameters:
wac
- additional application contextfilter
- wicket filter
-
destroy
Description copied from interface:IWebApplicationFactory
Called when the filter instance that used this factory is destroyed- Specified by:
destroy
in interfaceIWebApplicationFactory
- Parameters:
filter
- the wicket filter
-