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测试

 




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值