SpringMVC 零配置文件开发入门demo

我真的是很讨厌xml配置文件!

    今天正好翻书看到了基于注解配置MVC的开发方式 就有了这篇凌晨12点敲出来的博客

1.创建cn.tmhkc.config的package 

    创建MyWebConfig.class 继承 WebMvcConfigurerAdapter

package cn.tmhkc.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
@Configuration  
@ComponentScan("cn.tmhkc.controller") // 相当于<context:component-scan base-package="cn.tmhkc.controller"></context:component-scan>
@EnableWebMvc  
public class MyWebConfig extends WebMvcConfigurerAdapter {
	
	/**
	 * 相当于springmvc-servlet.xml中的
	 * <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	 * 		<property name="prefix" value="/"></property>
	 * 		<property name="suffix" value=".jsp"></property>
	 * </bean>
	 */
	@Bean
	public InternalResourceViewResolver  setupViewResolver() {  
        InternalResourceViewResolver  resolver = new InternalResourceViewResolver ();  
        resolver.setPrefix("/");  
        resolver.setSuffix(".jsp");  
        return resolver;  
    } 
}

2.创建WebInitializer.class 继承 AbstractAnnotationConfigDispatcherServletInitializer

package cn.tmhkc.config;

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
	
	/**
	 * 应该是类似于配置上下文
	 * 入门案例中还无需研究这个方法。
	 *  	以后学到了再补上
	 */
	@Override
	protected Class<?>[] getRootConfigClasses() {
		// TODO Auto-generated method stub
		return null;
	}
	
	/**
	 * 相当于springmvc-servlet.xml文件的配置
	 * 启用组件扫描,配置视图解析器,配置静态资源的处理。 
	 * 只用定义返回值
	 * 		new Class[] {自定义继承WebMvcConfigurerAdapter那个类.class}
	 */
	@Override
	protected Class<?>[] getServletConfigClasses() {
		// TODO Auto-generated method stub
		return new Class[] {MyWebConfig.class};
	}
	
	/**
	 * 设置拦截的url 
	 * 将DispatcherServlet映射到"*.do"
	 * 相当于xml文件中的
	 * <servlet-mapping>
	 * 		<servlet-name>springmvc</servlet-name>
	 * 		<url-pattern>*.do</url-pattern>
	 * </servlet-mapping>
	 */
	@Override
	protected String[] getServletMappings() {
		
		return new String[] { "*.do" };
	}

}

3.创建一个测试的controller

package cn.tmhkc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import cn.tmhkc.constant.ControllerConstant;

/**
 * 这里都是常规的东西
 * @author tmhkc
 *
 */

@Controller
public class MyController implements ControllerConstant  {
	
	@RequestMapping(WELCOME)
	public String home(){
		return WELCOME;
	}
}


4.开启tomcat测试




猜你喜欢

转载自blog.csdn.net/weixin_41215036/article/details/80261681
今日推荐