Package org.apache.wicket.spring
Class SpringWebApplicationFactory
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
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateApplication
(WicketFilter filter) protected 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) protected 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
- Specified by:
createApplication
in interfaceIWebApplicationFactory
-
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
- Specified by:
destroy
in interfaceIWebApplicationFactory
-