java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > springboot注解

SpringBoot中重要注解详解

作者:二哈喇子!

文章介绍了Spring Boot的自动配置机制和一些常用的注解,这些注解用于标识和配置Spring Boot应用中的控制器、路由、响应体等组件,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

Spring Boot注解是一种元数据形式,可提供有关程序的数据。换句话说,注解用于提供有关程序的 补充信息。它不是我们开发的应用程序的一部分。它对其注解的代码的操作没有直接影响。不会更改已编译程序的操作。

@SpringBootApplication

SpringBoot依靠@SpringBootApplication注解完成自动配置,该注解包含以下三个重要的注解,分别是:

  1. @SpringBootConfiguration 注解 它实际上就是一个 @Configuration 注解
  2. @ComponentScan 注解 用于定义 Spring 的扫描包路径
  3. @EnableAutoConfiguration注解 实现自动配置

Controller控制层中重要注解

注解:@Controller

Controller负责标识这个类是个Controller类,Spring检测到@Controller注解时,将其自动注册为Controller对象 ,是一种整体页面刷新提交的处理注解( 比如form提交 )。

package com.controller;
import org.springframework.stereotype.Controller;
...
@Controller
public class Hello {
...
}

@Controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模版页面。
在方法上加 @ResponseBody注解,也可以返回实体对象。

对应的还有一个 @RestController类中的所有方法只能返回String、Object、Json等实体对象,不能跳转到模版页面。

注解:@RequestMapping(“/”)

注解告知Spring这个类或者函数映射到哪个URL

@RequestMapping(
        path = { "/test" }, // 访问路径
        params = { "name", "userId"}, //URL携带的参数
        method = { RequestMethod.GET},  //表示请求方式
        consumes = {"text/plain", "application/"},//指定处理请求的提交内容类型(Content-Type)
        produces = "text/plain",  //指定响应类型
        headers = "content-type=text/"//指定request中必须包含某些指定的header值才能让该方法处理请求)

注意 :
1、@RequestMapping不指定参数名时,默认为path参数
2、path参数可以是个变量,通过{}来标识
3、@PathVaiable用于读取URL中的数据

@RequestMapping(path="test/login/{name}/{id}", method=RequestMethod.GET)
public String login(@PathVariable("name") String strName, @PathVariable("id") Integer id)
{
	return strName +id.toString();
}

@RequestParam用于读取URL中的数据

@RequestMapping(path = "test/login" , method=RequestMethod.GET)
public String login(@RequestParam(value="name",required = false,defaultValue = "tom") 
String strName,@RequestParam(value="id",required = false,defaultValue = "123") Integer id){
			return strName + id.toString();
	}

注解:@ResponseBody

正常情况下,Controller类中函数返回是一个模板对象(页面)。但是有时候我们希望返回值数值型(字符串或者Json格式数据),这时就需要添加@ResponseBody注解。

@ResponseBody注解可以添加到类或者函数上 。

注解:@RestController、@GetMapping 和@PostMapping

这三个注解都是组合注解

@RestController = @Controller + @ResposeBody
@GetMapping相当于@RequestMapping(method=RequestMethod.GET) 表示前端向后端发出请求数据命令,后端根据具体请求(URL)找到对应的资源并返回给前端。

@PostMapping相当于@RequestMapping(method=RequestMethod.POST) 表示前端向后端发送数据,后端根据命令,将给数据持久化到数据库中,实现数据的更新。

到此这篇关于SpringBoot中重要注解详解的文章就介绍到这了,更多相关springboot注解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文