springboot常用注解

springboot源码中的注解请详见源码分析。https://www.cnblogs.com/zys2019/p/13848141.html

1.@RequestMapping

1.1说明

用来处理请求地址映射,可用于类或方法上。用于类上时,表示类中的所有响应请求的方法都是以该地址作为父路径。

1.2用例

1)用在类上

@RestController
@RequestMapping("/kaptcha")
public class KaptchaController {
   ......

}

在访问此接口时,每个请求就必须带上路径kaptcha。

2)用在方法上

@RestController
@RequestMapping("/kaptcha")
public class KaptchaController {
    
    @RequestMapping("/test")
    public String test(){
        return "test 注解";
    }

   ......

}

访问路径就是“/kaptcha/test”。用在方法上时,可以指定请求的方式(method),如果不指定则任意类型均可请求,指定后只能通过对应的请求方式才能访问。

//get请求访问
@RequestMapping(value="/test",method = RequestMethod.GET)

//post请求访问
@RequestMapping(value="/test",method = RequestMethod.POST)

2.@RequestBody

2.1说明

用来接收前端传递给后端的json字符串中的数据,且必须是post或put请求。

2.2用例

实体类

@Data
public class User {

    private String name;

    private String password;

    private Integer age;
}

接口

@RestController
public class KaptchaController {

    @RequestMapping(value = "/test")
    public String test(@RequestBody User user){
        System.out.println(user.toString());//User(name=张三, password=123, age=20)
        return "test 注解";
    }
}

发送测试数据,json串如下:

{
    "name": "张三",
    "age": 20,
    "password": "123"
}

3.@Controller

3.1说明

作用在类上,声明此类是一个 SpringMVC Controller对象

3.2用例

@Controller
public class HelloWorldBMvcController{
    @RequestMapping (”/helloworldB”)
    @ResponseBody 
    public String helloWord() throws Exception { 
        return "Hello ,SpringBoot";
    }
}    

4.@ResponseBody

4.1说明

通过适当的 Htt pMessageConve te 将控制器中万法返回的对象转焕为指@Response Body定格式( JSON/XML )后,写入 Response 对象的 body 数据区

4.2用例

@RequestMapping("/test")
@ResponseBody
public String test(){
    return "ok";
}

5.@RestController

5.1说明

用于返回 JSON,但不能返回 HTML页面,作用相当于@ResponseBody 和@ Controller的组合

5.2用例

@RestController
public class HelloWorldController{
    @RequestMapping(”/hello”)
    public String hello() { 
        return "Hello ,Spring Bootl”;
    }
}

6.@RequestParam

6.1说明

用在方法的参数前面,用于映射形参和实参,将其对应起来获取值

6.2用例

7.@Param

7.1说明

7.2用例

8.@GetMapping

8.1说明

8.2用例

9.@PostMapping

9.1说明

9.2用例

10.@PutMapping

10.1说明

10.2用例

11.@DeleteMapping

11.1说明

11.2用例

12.@Autowired

12.1说明

默认按 byType 自动注入

12.2用例

13.@Resource

13.1说明

默认技 byName 自动注入

13.2用例

14@Component

14.1说明

代表其是 Spring 管理类,常用在无法用@Service和@Repository 描述的 Spring 管理的类上,相当于通用的注解

14.2用例

15.@Bean

15.1说明

声明该万;去的返回结果是 个由 Spring 容器管理的 Bean

15.2用例

16.@Configuration

16.1说明

声明此类是 个配置类,常与@Bean 配合使用

16.2用例

17.@Transactional

17.1说明

用于处理事务

17.2用例

18.@Qualifier

18.1说明

作用在类名或属性上,为Bean 指定名称,随后再通过名字引用 Bean

18.2用例

posted @ 2021-01-08 18:21  钟小嘿  阅读(105)  评论(0编辑  收藏  举报