zoukankan      html  css  js  c++  java
  • Spring MVC零配置(全注解)(版本5.0.7)

    // 核心配置类
    package spittr.config;
    
    import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
    
    public class SpittrWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer{
    
        @Override
        protected Class<?>[] getRootConfigClasses() {
            // TODO Auto-generated method stub
            return new Class<?>[] {RootConfig.class};
        }
    
        @Override
        protected Class<?>[] getServletConfigClasses() {
            // 指定配置类
            return new Class<?>[] {WebConfig.class};
        }
        /**
         * 将一个或多个路径映射到DispatcherServlet上
         */
        @Override
        protected String[] getServletMappings() {
            // 将DispatcherServlet映射到“/”
            return new String[] {"/"};
        }
    
    }
    
    
    package spittr.config;
    
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.ViewResolver;
    import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
    import org.springframework.web.servlet.config.annotation.EnableWebMvc;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
    import org.springframework.web.servlet.view.InternalResourceViewResolver;
    
    @Configuration
    @EnableWebMvc // 启用Spring MVC
    @ComponentScan("spittr.web") // 启用组件扫描
    public class WebConfig implements WebMvcConfigurer {
        /**
         * 配置JSP视图解析器
         * 
         * @return
         */
        @Bean
        public ViewResolver viewResolver() {
            InternalResourceViewResolver resolver = new InternalResourceViewResolver();
            resolver.setPrefix("/WEB-INF/views/");
            resolver.setSuffix(".jsp");
            resolver.setExposeContextBeansAsAttributes(true);
            return resolver;
        }
    
        @Override
        public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
            configurer.enable();
        }
    
    }
    
    
    package spittr.config;
    
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.ComponentScan.Filter;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.FilterType;
    import org.springframework.web.servlet.config.annotation.EnableWebMvc;
    
    @Configuration
    @ComponentScan(basePackages= {"spitter"},
            excludeFilters= {
                    @Filter(type=FilterType.ANNOTATION, value=EnableWebMvc.class)
                    })
    public class RootConfig {
    
    }
    
    
    
    package spittr.web; 
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    public class HomeController {
        static {
            System.out.println("=============HomeController============");
        }
        @RequestMapping("/home")
        public String home() {
            System.out.println("hellow");
            return "home";
        }
    }
    
    
  • 相关阅读:
    (1)java设计模式之简单工厂模式
    QuartZ Cron表达式在java定时框架中的应用
    java.lang.OutOfMemoryError:GC overhead limit exceeded填坑心得
    https实现安全传输的流程
    liunx上运行mybase
    liux之sed用法
    java并发之CyclicBarrier
    java并发之Semaphore
    关于ConcurrentSkipListMap的理解
    java中Iterator和ListIterator的区别与联系
  • 原文地址:https://www.cnblogs.com/caoleiCoding/p/9270510.html
Copyright © 2011-2022 走看看