阅读 80

springmvc依赖注入(springmvc常用5种注解)

初识SpringMVC

实现步骤:

  1. 新建一个web项目
  2. 导入相关jar包
  3. 编写web.xml,注册DispatcherServlet
  4. 编写springmvc配置文件
  5. 接下来就是去创建对应的控制类 , controller
  6. 最后完善前端视图和controller之间的对应
  7. 测试运行调试

使用springMVC必须配置的三大件:

处理器映射器、处理器适配器、视图解析器

通常,我们只需要手动配置视图解析器,而处理器映射器处理器适配器只需要开启注解驱动即可,而省去了大段的xml配置

注解实现SpringMVC

常见注解

@Component	组件
@Service	服务
@Controller	控制
@Respository	dao层

控制器

package com.kuang.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
//@Controller注解的类会自动添加到Spring上下文中
@Controller
@RequestMapping("/test2")
public class ControllerTest2{
	//映射访问路径
	@RequestMapping("/t2")
	public String index(Model model){
		//Spring MVC会自动实例化一个Model对象用于向视图中传值
		model.addAttribute("msg", "ControllerTest2");
		//返回视图位置
		return "test";
	}
}
  • @Controller是为了让Spring IOC容器初始化时自动扫描到;
  • @RequestMapping是为了映射请求路径,这里因为类与方法上都有映射所以访问时应该是/test2/t2;

标准maven依赖



    4.0.0

    com.reliable
    SpringMVC2
    pom
    1.0-SNAPSHOT
    
        springmvc-04-controller
    
    
        
            junit
            junit
            4.12
        
        
            org.springframework
            spring-webmvc
            5.1.9.RELEASE
        
        
            javax.servlet
            servlet-api
            2.5
        
        
            javax.servlet.jsp
            jsp-api
            2.2
        
        
            javax.servlet
            jstl
            1.2
        
    
    
        
            
                src/main/java
                
                    **/*.properties
                    **/*.xml
                
                false
            
            
                src/main/resources
                
                    **/*.properties
                    **/*.xml
                
                false
            
        
    

一、配置pom.xml



    
        SpringMVC2
        com.reliable
        1.0-SNAPSHOT
    
    4.0.0

    springmvc-04-controller
    
        
            javax.servlet
            servlet-api
            2.5
        
        
            javax.servlet.jsp
            jsp-api
            2.2
        
    
    
        
            
                src/main/java
                
                    **/*.properties
                    **/*.xml
                
                false
            
            
                src/main/resources
                
                    **/*.properties
                    **/*.xml
                
                false
            
        
    

二、配置web.xml



    
    
        SpringMVC
        org.springframework.web.servlet.DispatcherServlet
        
        
            contextConfigLocation
            classpath:springmvc-servlet.xml
        
        
        1
    
    
    
        SpringMVC
        /
    

三、配置springmvc-servlet.xml



    
    
    
    
    
    
    
    
        
        
        
        
    


RestFul 风格

概念
Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

功能
资源:互联网所有的事物都可以被抽象为资源
资源操作:使用POST、DELETE、PUT、GET,使用不同方法对资源进行操作。
分别对应 添加、 删除、修改、查询。

RestFulController(@PathVariable)

package com.kuang.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class RestFulController {
	//映射访问路径
	@RequestMapping("/commit/{p1}/{p2}")
	public String index(@PathVariable int p1, @PathVariable int p2, Model model){
		int result = p1+p2;
		//Spring MVC会自动实例化一个Model对象用于向视图中传值
		model.addAttribute("msg", "结果:"+result);
		//返回视图位置
		return "test";
	}

	//映射访问路径,必须是Get请求
	@RequestMapping(value = "/hello",method = {RequestMethod.GET})
	public String index2(Model model){
		model.addAttribute("msg", "hello!");
		return "test";
	}
}

使用method属性指定请求类型

用于约束请求的类型,可以收窄请求范围。指定请求谓词的类型如GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE, TRACE等。

	//映射访问路径,必须是Get请求
	@RequestMapping(value = "/hello",method = {RequestMethod.GET})
	public String index2(Model model){
		model.addAttribute("msg", "hello!");
		return "test";
	}

除了添加method,还可以使用注解

@GetMapping
@PostMapping
@PutMapping
@DeleteMapping
@PatchMapping

	//映射访问路径,必须是Get请求
	@GetMapping(value = "/hello")
	public String index2(Model model){
		model.addAttribute("msg", "hello!");
		return "test";
	}
文章分类
百科问答
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐