栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringMVC中注解和非注解形式配置

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringMVC中注解和非注解形式配置

目录

一、注解形式

1、各组件的配置文件 springmvc1.xml

2、Controller类

二、非注解形式实现

1、各组件的配置文件 springmvc2.xml

2、User1Controller类

三、文件目录展示


以实现业务逻辑(展现用户列表)来说明这两种方法

先给定User类

public class User {
    private Integer id;
    private String  name;
    private String address;
    
    public User(Integer id, String name, String address) {
        this.id = id;
        this.name = name;
        this.address = address;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + ''' +
                ", address='" + address + ''' +
                '}';
    }
}

展现用户类userlist.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
        <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
        <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
        

        
             
                数据展示
            
            
                

${class} <%--c:forEach --%>
用户id 用户名 地址
${user.id} ${user.name} ${user.address}

一、注解形式

1、各组件的配置文件 springmvc1.xml


    
    

    
    
    
    
    

    
    
    
    
    

    
    
    
    
    
        
        
        
    

注意:!!!

对于处理器映射器和处理器适配器等组件可以显性的声明类全路径,需要主要使用的spring版本,在spring3.1前后使用的类是 不同的

也可以直接通过读取框架提供的默认的组件

2、Controller类
//记得要在类上加上注解
@Controller
public class UserController {

    @RequestMapping("/userlist")
    public ModelAndView userList() {
        ArrayList  users = new ArrayList <>();
        users.add(new User(1,"张三","西安"));
        users.add(new User(2,"小红","西安"));
        users.add(new User(3,"小李","北京"));
        users.add(new User(4,"小张","陕西"));

        ModelAndView modelAndView = new ModelAndView();
        //数据填充
        modelAndView.addObject("users",users);
        //指定路径 全路径
        modelAndView.setViewName("userlist");

        return modelAndView;

    }
  @RequestMapping("/usertest")
    @ResponseBody //以JSON数据返回
    public String test() {
        return "Hello";
    }

}

运行结果

 注解使用:

@Controller注解 将类交给容器管理

@RequestMapping 给定URL,通过URL找到具体处理业务逻辑

二、非注解形式实现

1、各组件的配置文件 springmvc2.xml




    
    

    
    

    
    
    
        
        
    

处理器适配器类是SimpleControllerHandlerAdapter,通过源码可知,要能够被处理器适配器识别的类必须是Controller接口的具体实现类

2、User1Controller类

必须实现Controller类,重写handleRequest方法,才能被处理器适配器识别

public class User1Controller implements Controller {
    @Override
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        ArrayList users = new ArrayList <>();
        users.add(new User(1,"张三","西安"));
        users.add(new User(2,"小红","西安"));
        users.add(new User(3,"小李","北京"));
        users.add(new User(4,"小张","陕西"));

        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("users",users);
        modelAndView.setViewName("userlist");
        //System.out.println("测试请求");

        return modelAndView;
    }
}

运行结果

 总结:

通常一般情况下使用注解形式

使用注解形式需要注意 配置注解 和注解扫描是否开启

使用非注解形式就需要在controller类上实现Controller类,重写handleRequest方法

三、文件目录展示

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/592578.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号