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加载了


  • 相关阅读:
    谈谈目前书店里面的计算机书籍“含量”情况 发发看法
    注意:CSS中加入中文注释,会使.NET中样式丢失
    今天很是郁闷
    用周末的时间,通过BT终于把VS2005Team版下载下来啦~~~
    今天在网上找到了两个常用建模工具的下载地址 ,速度还不错
    C#下如何实现服务器+客户端的聊天程序
    CSS网页制作技巧:图片的自适应居中和兼容处理(转)
    SASS用法指南(转)
    CSS选择器学习小结
    JavaScript编写计算器《JavaScript王者归来》读书笔记1
  • 原文地址:https://www.cnblogs.com/zhengwenqiang/p/6804676.html
Copyright © 2011-2022 走看看