Spring3.0中SpringwebMVC层的注解驱动开发

本文介绍了Spring3.0中SpringwebMVC层的注解驱动开发,包括依赖导入、接口接入、配置类设置、Controller开发、启动服务器后的结果展示、视图解析器配置及Controller请求页面与JSP的交互过程。

Spring3.0中SpringwebMVC层的注解驱动开发

原理说明参见:
SpringMVC接入Spring框架原理

1.依赖导入

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.2.8.RELEASE</version>
        </dependency>

2.实现接口接入

告诉Spring根配置类是哪个,子配置类是哪个,以及DispatcherServlet对应的url路径是哪个
在基于注解的体系下开发时,我们要考虑继承
AbstractAnnotationConfigDispatcherServletInitializer 类来接入Spring MVC框架。

public class MyWebInit extends AbstractAnnotationConfigDispatcherServletInitializer {
    @Override
    protected Class<?>[] getRootConfigClasses() {
        //表明跟容器的配置类
        return new Class[]{ApplicationConfig.class};
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {
        //表明子容器的配置类
        return new Class[]{SpringMvcConfig.class};
    }

    @Override
    protected String[] getServletMappings() {
        //表明DispatcherServlet的映射路径
        return new String[]{"/"};
    }
}

3.配置类

父配置

@Configuration
public class ApplicationConfig {
}

子配置

@Configuration //表明该类是配置类
@EnableWebMvc //对应xml中的<MVC:annotation-driver/>标签
@ComponentScan(basePackages = "com.example.controller")//定义扫描位置
public class SpringMvcConfig {
}

4.controller开发

@Controller
public class DemoController {
    @GetMapping("/demo")
    @ResponseBody
    public String m1(){
        return "SpringMvc";
    }
}

5.启动服务器结果:

在这里插入图片描述

6.视图解析器配置

@Configuration //表明该类是配置类
@EnableWebMvc //对应xml中的<MVC:annotation-driver/>标签
@ComponentScan(basePackages = "com.example.controller")//定义扫描位置
public class SpringMvcConfig {
    @Bean
    public InternalResourceViewResolver viewResolver(){
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setPrefix("/WEB-INF/jsp/");
        viewResolver.setSuffix(".jsp");
        return viewResolver;
    }
}

7.controller请求页面&jsp

@Controller
public class DemoController {
    @GetMapping("/demo")
    @ResponseBody
    public String m1(){
        return "SpringMvc";
    }
    @GetMapping("/demo1")

    public String m2(){
        return "Spring";
    }
}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
	<h1>123</h1>
</body>
</html>

显示结果:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值