tinyweb集成springmvc 的一种可行方式

最近tiny项目中集成了springmvc,而且使用的tiny的版本比较低,所以整合起来官网给的前两种方式都行不通。

而且有个tiny整合springmvc的maven依赖都下载不了。所以只有使用第三种相对比较麻烦的方式。

步骤1:

在web.xml配置DispatcherServlet

 1     <servlet>
 2         <servlet-name>SpringMVC</servlet-name>
 3         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 4         <init-param>
 5             <param-name>contextAttribute</param-name>
 6             <param-value>tinySpringContainer</param-value>
 7         </init-param>
 8         <load-on-startup>1</load-on-startup>
 9         <async-supported>true</async-supported>
10     </servlet>
11     <servlet-mapping>
12         <servlet-name>SpringMVC</servlet-name>
13         <url-pattern>/mvc/*</url-pattern>
14     </servlet-mapping>

  步骤2:

编写TinySpringContainerBindingListener 监听程序,放在对应的包下面

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import org.tinygroup.beancontainer.BeanContainerFactory;
import org.tinygroup.springutil.ExtendsSpringBeanContainer;
import org.tinygroup.weblayer.listener.ServletContextHolder;

public class TinySpringContainerBindingListener implements ServletContextListener {
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        ExtendsSpringBeanContainer beanContainer = (ExtendsSpringBeanContainer) BeanContainerFactory
                .getBeanContainer(getClass().getClassLoader());
        ServletContextHolder.getServletContext().setAttribute(
                "tinySpringContainer", beanContainer.getBeanContainerPrototype());
    }
    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        ServletContextHolder.getServletContext().removeAttribute("tinySpringContainer");
    }
}

步骤3:

配置springmvc的扫描包,注解驱动:

<context:component-scan base-package="com.**.controller" use-default-filters="false">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>  
<mvc:annotation-driven />

配置完成。

可以尽情使用springmvc了。

原文地址:https://www.cnblogs.com/sloveling/p/tiny_springmvc.html