diff --git a/pom.xml b/pom.xml
index 3ac86ee8..ebbd6155 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,6 +39,7 @@
weixin-java-common
weixin-java-cp
weixin-java-mp
+ spring-demo
diff --git a/spring-demo/pom.xml b/spring-demo/pom.xml
new file mode 100644
index 00000000..1ae990ed
--- /dev/null
+++ b/spring-demo/pom.xml
@@ -0,0 +1,25 @@
+
+
+ 4.0.0
+
+ com.github.binarywang
+ weixin-java-parent
+ 1.3.5-SNAPSHOT
+
+ spring-demo
+ war
+ WeiXin Java Tools - demo with spring
+ spring demo
+ https://github.com/binarywang/weixin-java-tools
+
+
+
+ com.github.binarywang
+ weixin-java-common
+ ${project.version}
+
+
+
+
diff --git a/spring-demo/src/main/webapp/WEB-INF/web.xml b/spring-demo/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 00000000..6242f8f1
--- /dev/null
+++ b/spring-demo/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,55 @@
+
+
+ api
+
+ contextConfigLocation
+ classpath:applicationContext.xml
+
+
+ encodingFilter
+ org.springframework.web.filter.CharacterEncodingFilter
+
+ encoding
+ UTF-8
+
+
+
+ encodingFilter
+ /*
+
+
+ springSecurityFilterChain
+ org.springframework.web.filter.DelegatingFilterProxy
+
+
+ springSecurityFilterChain
+ /v1/admin/*
+
+
+
+ org.springframework.web.context.ContextLoaderListener
+
+
+ org.springframework.web.util.IntrospectorCleanupListener
+
+
+ spring mvc servlet
+ springMvc
+ org.springframework.web.servlet.DispatcherServlet
+
+ contextConfigLocation
+ classpath:spring-servlet-common.xml
+
+ 1
+
+
+ springMvc
+ /
+
+
+ 30
+
+
\ No newline at end of file