SpringBoot2 学习11常用注解
@SpringBootApplication
用于springboot项目的启动类上。
相当于三个注解
-
@ComponentScan : 表示Springboot 会从当前包,往下扫描,去发现springboot的其他注解(@Controller,@RequestMapping等等springboot的注解)。所以springboot项目的,所有代码必须在启动类的同一个包,或者子包里面。
-
@AutoConfigation:自动装配,可以使springboot项目,不需要添加任何配置文件的情况下,正常启动,使用。
-
@Congigation: 表示这个类是一个配置类,相当于这个java类其实是一个xml配置文件。
App是启动类,其他的类都在com.zz包的下面。
@Resource
表示注入一个其他类的对象。
Spring默认情况下,使用单列模式创建对象。
使用了@Resource表示把一个OrderService的对象,注入到OrderController。
@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请求
、