Add AbstractHttpSessionApplicationInitializer

This reduces the boilerplate code required to register Spring Session with
the servlet container.

Fixes gh-43
This commit is contained in:
Rob Winch
2014-09-30 14:13:26 -05:00
parent 417174388b
commit d026dd6821
4 changed files with 294 additions and 36 deletions

View File

@@ -15,31 +15,14 @@
*/
import org.springframework.web.context.AbstractContextLoaderInitializer;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.filter.DelegatingFilterProxy;
import javax.servlet.DispatcherType;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import java.util.EnumSet;
import org.springframework.session.web.context.AbstractHttpSessionApplicationInitializer;
/**
* @author Rob Winch
*/
public class Initializer extends AbstractContextLoaderInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
super.onStartup(servletContext);
servletContext.addFilter("springSessionRepositoryFilter", DelegatingFilterProxy.class)
.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), false, "/*");
}
public class Initializer extends AbstractHttpSessionApplicationInitializer {
@Override
protected WebApplicationContext createRootApplicationContext() {
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
context.register(Config.class);
return context;
public Initializer() {
super(Config.class);
}
}