• 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了。

  • 相关阅读:
    MySQL 之 Metadata Locking 研究
    Spring, MyBatis 多数据源的配置和管理
    ThreadLocal 源码剖析
    Java多线程中的死锁问题
    Java并发基础框架AbstractQueuedSynchronizer初探(ReentrantLock的实现分析)
    PriorityQueue和Queue的一种变体的实现
    被我们忽略的HttpSession线程安全问题
    Java并发之原子变量和原子引用与volatile
    使用Java实现单线程模式
    这些年无处安放的博客
  • 原文地址:https://www.cnblogs.com/sloveling/p/tiny_springmvc.html
Copyright © 2020-2023  润新知