zoukankan      html  css  js  c++  java
  • 【Spring】web开发 javaConfig方式 图解

    spring3.2之后开始支持java配置方式开发web项目,不使用web.xml,但需要在servlet3.0环境,一般tomcat7会支持,6不行

    下图中:MyAppInitializer和SpringServletContainerInitializer是查找关系,没有继承


    创建maven的web项目 

    容器首先会加载这个类

    package org.spitter.config;
    
    import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
    
    public class MyAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer{
    	
    //	抽象类的实现类会自动地配置DispatcherServlet 和 spring 应用的上下文
    	@Override
    	protected Class<?>[] getRootConfigClasses() {
    		
    		return new Class<?>[]{RootConfig.class};
    	}
    	@Override
    	protected Class<?>[] getServletConfigClasses() {
    		return new Class<?>[]{WebConfig.class};
    	}
    	@Override
    	protected String[] getServletMappings() {
    		return new String[]{"/"};
    	}
    
    }

    然后是RootConfig.class

    package org.spitter.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={"org.spitter"},
    	excludeFilters={@Filter(type=FilterType.ANNOTATION,value=EnableWebMvc.class)})
    public class RootConfig {
    
    }

    然后是WebConfig.class

    package org.spitter.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.WebMvcConfigurerAdapter;
    import org.springframework.web.servlet.view.InternalResourceViewResolver;
    
    @Configuration
    @EnableWebMvc
    @ComponentScan(basePackages = {"org.spitter.web"})
    public class WebConfig extends WebMvcConfigurerAdapter {
    
    //	配置视图解析器
    	@Bean
    	public ViewResolver viewResolver() {
    		InternalResourceViewResolver resolver = new InternalResourceViewResolver();
    		resolver.setPrefix("/page/");
    		resolver.setSuffix(".jsp");
    		resolver.setExposeContextBeansAsAttributes(true);
    		return resolver;
    	}
    //	配置静态资源的处理
    	@Override
    	public void configureDefaultServletHandling( DefaultServletHandlerConfigurer configurer) {
    		configurer.enable();
    	}
    }

    最后写一个Controller

    package org.spitter.web;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    
    @Controller
    public class HomeController {
    
    	@RequestMapping(value="/myhome",method=RequestMethod.GET)
    	public String home(){
    		return "home";
    	}
    }

    这样,初始web项目完成,可以启动tomcat加载了


  • 相关阅读:
    个人项目作业
    第一次博客作业
    我和计算机的恩怨情仇
    OO第四单元总结暨学期总结
    OO第三单元总结
    OO第二单元总结
    OO第一单元总结
    提问回顾与个人总结
    [技术博客]使用pylint实现django项目的代码风格检查
    BUAA软工-结对项目作业
  • 原文地址:https://www.cnblogs.com/zhengwenqiang/p/6804676.html
Copyright © 2011-2022 走看看