二、Spring系列之利用注解开发SpringMVC项目

  • Post author:
  • Post category:其他

搭建步骤

1. pom文件引入依赖

2. web.xml中引入DispatcherServlet,并引入spring文件

注:这里的前两步是和一、项目搭建相同

3. spring文件

● 配置自动扫码包,只有被扫码到的包才能使用注解开发
● 使用mvc:default-servlet-handler/过滤掉静态资源
● annotation-driven 完成原来的HandlerMapping和HandlerAdapter工作
● 加入视图解析器

<!--想使用注解需要配置这个,自动扫描包,由IOC容器统一管理-->
<context:component-scan base-package="com.lvmo.controller"/>

<!--让Spring mvc不处理静态资源 如.css .js .html .mp3...不让这些资源去走视图解析器-->
<mvc:default-servlet-handler/>

<!--
    相当于原来的HandlerMapping和HandlerAdapter
    引入这个可以直接只用注解完成
-->
<mvc:annotation-driven/>

<!--最后再来一个视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
    <!--前缀-->
    <property name="prefix" value="WEB-INF/jsp/"/>
    <!--后缀-->
    <property name="suffix" value=".jsp"/>
</bean>

4. 编写Controller函数

@Controller //相当于原来xml文件中那个bean controller
@RequestMapping("/hello")
// @RestController --> json 返回的是字符串
public class HelloController {

    //类上有表示一个父子关系
    @RequestMapping("/h1") //真实映射地址
    public String hello(Model model){
        //封装数据
        model.addAttribute("msg","annotation springmvc");
        return "hello"; //会被视图解析器处理
    }
}

注意:

  1. @Controller 相当于普通项目搭建时的bean
  2. @RequestMapping相当于HandlerMappping
  3. 注解开发中的Controller不再需要返回一个ModelAndView对象,hello函数中返回的“hello”会给DispatcherServlet返回具体的视图!

5. 启动项目

补充:整合项目的结果如下:
在这里插入图片描述


版权声明:本文为Lemom_5269原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。