SpringBoot2 学习11常用注解

@SpringBootApplication

用于springboot项目的启动类上。
相当于三个注解

  • @ComponentScan : 表示Springboot 会从当前包,往下扫描,去发现springboot的其他注解(@Controller,@RequestMapping等等springboot的注解)。所以springboot项目的,所有代码必须在启动类的同一个包,或者子包里面。

  • @AutoConfigation:自动装配,可以使springboot项目,不需要添加任何配置文件的情况下,正常启动,使用。

  • @Congigation: 表示这个类是一个配置类,相当于这个java类其实是一个xml配置文件。

App是启动类,其他的类都在com.zz包的下面。
SpringBoot2 学习11常用注解

@Resource

表示注入一个其他类的对象。

Spring默认情况下,使用单列模式创建对象。

使用了@Resource表示把一个OrderService的对象,注入到OrderController。

SpringBoot2 学习11常用注解

@Resource 和@Autowired 是一样的作用。都是表示注入一个对象。

区别:

@Resource 先按照名称方式进行bean匹配,找不到,再按类型。

@Autowired 先按照类型方式进行bean匹配,找不到,再按名字找。

@Resource(importjavax.annotation.Resource;)是J2EE的注解,@Autowired(importorg.springframework.beans.factory.annotation.Autowired;)是Spring的注解

其他

@Controller, 放类上面,表示是一个controller, 每个方法返回默认是 跳转的地址

@RestController, 放类上面,表示是一个controller, 每个方法返回默认是 Json对象。 @Controller里面的方法也可返回Json就需要多写一个注解,在方法的上面加一个@ResponseBody.

@RequestMapping 在controller上,设置拦截路径,同时支持Post和Get

@GetMapping 在controller上,设置拦截路径,只支持Get请求

@PostMapping 在controller上,设置拦截路径,只支持Post请求