Polishing
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
* Copyright 2002-2015 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -107,7 +107,6 @@ public class ContextLoader {
|
||||
/**
|
||||
* Config param for the root WebApplicationContext implementation class to use: {@value}
|
||||
* @see #determineContextClass(ServletContext)
|
||||
* @see #createWebApplicationContext(ServletContext, ApplicationContext)
|
||||
*/
|
||||
public static final String CONTEXT_CLASS_PARAM = "contextClass";
|
||||
|
||||
@@ -194,6 +193,7 @@ public class ContextLoader {
|
||||
*/
|
||||
private static volatile WebApplicationContext currentContext;
|
||||
|
||||
|
||||
/**
|
||||
* The root WebApplicationContext instance that this loader manages.
|
||||
*/
|
||||
@@ -360,6 +360,37 @@ public class ContextLoader {
|
||||
return (ConfigurableWebApplicationContext) BeanUtils.instantiateClass(contextClass);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the WebApplicationContext implementation class to use, either the
|
||||
* default XmlWebApplicationContext or a custom context class if specified.
|
||||
* @param servletContext current servlet context
|
||||
* @return the WebApplicationContext implementation class to use
|
||||
* @see #CONTEXT_CLASS_PARAM
|
||||
* @see org.springframework.web.context.support.XmlWebApplicationContext
|
||||
*/
|
||||
protected Class<?> determineContextClass(ServletContext servletContext) {
|
||||
String contextClassName = servletContext.getInitParameter(CONTEXT_CLASS_PARAM);
|
||||
if (contextClassName != null) {
|
||||
try {
|
||||
return ClassUtils.forName(contextClassName, ClassUtils.getDefaultClassLoader());
|
||||
}
|
||||
catch (ClassNotFoundException ex) {
|
||||
throw new ApplicationContextException(
|
||||
"Failed to load custom context class [" + contextClassName + "]", ex);
|
||||
}
|
||||
}
|
||||
else {
|
||||
contextClassName = defaultStrategies.getProperty(WebApplicationContext.class.getName());
|
||||
try {
|
||||
return ClassUtils.forName(contextClassName, ContextLoader.class.getClassLoader());
|
||||
}
|
||||
catch (ClassNotFoundException ex) {
|
||||
throw new ApplicationContextException(
|
||||
"Failed to load default context class [" + contextClassName + "]", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated as of Spring 3.1 in favor of
|
||||
* {@link #createWebApplicationContext(ServletContext)} and
|
||||
@@ -417,7 +448,6 @@ public class ContextLoader {
|
||||
* org.springframework.core.annotation.Order Order} will be sorted appropriately.
|
||||
* @param sc the current servlet context
|
||||
* @param wac the newly created application context
|
||||
* @see #createWebApplicationContext(ServletContext, ApplicationContext)
|
||||
* @see #CONTEXT_INITIALIZER_CLASSES_PARAM
|
||||
* @see ApplicationContextInitializer#initialize(ConfigurableApplicationContext)
|
||||
*/
|
||||
@@ -451,37 +481,6 @@ public class ContextLoader {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the WebApplicationContext implementation class to use, either the
|
||||
* default XmlWebApplicationContext or a custom context class if specified.
|
||||
* @param servletContext current servlet context
|
||||
* @return the WebApplicationContext implementation class to use
|
||||
* @see #CONTEXT_CLASS_PARAM
|
||||
* @see org.springframework.web.context.support.XmlWebApplicationContext
|
||||
*/
|
||||
protected Class<?> determineContextClass(ServletContext servletContext) {
|
||||
String contextClassName = servletContext.getInitParameter(CONTEXT_CLASS_PARAM);
|
||||
if (contextClassName != null) {
|
||||
try {
|
||||
return ClassUtils.forName(contextClassName, ClassUtils.getDefaultClassLoader());
|
||||
}
|
||||
catch (ClassNotFoundException ex) {
|
||||
throw new ApplicationContextException(
|
||||
"Failed to load custom context class [" + contextClassName + "]", ex);
|
||||
}
|
||||
}
|
||||
else {
|
||||
contextClassName = defaultStrategies.getProperty(WebApplicationContext.class.getName());
|
||||
try {
|
||||
return ClassUtils.forName(contextClassName, ContextLoader.class.getClassLoader());
|
||||
}
|
||||
catch (ClassNotFoundException ex) {
|
||||
throw new ApplicationContextException(
|
||||
"Failed to load default context class [" + contextClassName + "]", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the {@link ApplicationContextInitializer} implementation classes to use
|
||||
* if any have been specified by {@link #CONTEXT_INITIALIZER_CLASSES_PARAM}.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
* Copyright 2002-2015 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -23,14 +23,13 @@ import javax.servlet.ServletContextListener;
|
||||
* Bootstrap listener to start up and shut down Spring's root {@link WebApplicationContext}.
|
||||
* Simply delegates to {@link ContextLoader} as well as to {@link ContextCleanupListener}.
|
||||
*
|
||||
* <p>This listener should be registered after
|
||||
* {@link org.springframework.web.util.Log4jConfigListener}
|
||||
* <p>This listener should be registered after {@link org.springframework.web.util.Log4jConfigListener}
|
||||
* in {@code web.xml}, if the latter is used.
|
||||
*
|
||||
* <p>As of Spring 3.1, {@code ContextLoaderListener} supports injecting the root web
|
||||
* application context via the {@link #ContextLoaderListener(WebApplicationContext)}
|
||||
* constructor, allowing for programmatic configuration in Servlet 3.0+ environments. See
|
||||
* {@link org.springframework.web.WebApplicationInitializer} for usage examples.
|
||||
* constructor, allowing for programmatic configuration in Servlet 3.0+ environments.
|
||||
* See {@link org.springframework.web.WebApplicationInitializer} for usage examples.
|
||||
*
|
||||
* @author Juergen Hoeller
|
||||
* @author Chris Beams
|
||||
@@ -98,6 +97,7 @@ public class ContextLoaderListener extends ContextLoader implements ServletConte
|
||||
super(context);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Initialize the root web application context.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user