Java注解是附加在代码中的⼀些元信息,⽤于⼀些⼯具在编译、运⾏时进⾏解析和使⽤,起 到说明、配置的功能
注解本质上继承 Annotation 接⼝,我们可以通过反射获取注解的相关信息,从⽽做些逻辑操作。
springboot⾥⾯⼤量使⽤了注解,@Controller 、@RestController 、@Service、 @Autowire 等
@Controller 作⽤:⽤于标记这个类是⼀个控制器,返回⻚⾯的时候使⽤;如果要返回JSON,则需 要在接⼝上使⽤@ResponseBody才可以。
@RestController 作⽤:⽤于标记这个类是⼀个控制器,返回JSON数据的时候使⽤,如果使⽤这 个注解,则接⼝返回数据会被序列化为JSON
所以:@RestController = @Controller+@ResponseBody
@RequestMapping 作⽤:路由映射,⽤于类上做1级路径;⽤于某个⽅法上做⼦路径
@SpringBootApplication 作⽤: ⽤于标记是SringBoot应⽤,⾥⾯包含多个⼦注解,即
@SpringBootApplication = @Configuration+@EnableAutoConfiguration+@ComponentScan
( @Configuration: 主要标注在某个类上,⽤于spring扫描注⼊,⼀般结合@Bean使⽤
@EnableAutoConfiguration: 启⽤Spring的⾃动加载配置,⾃动载⼊应⽤程序所需的所有Bean
@ComponentScan:告诉spring扫描包的范围,默认是Applocation类所在的全部⼦包,可以指定 其他包 @ComponentScan({"net.xdclass.package1","net.xdclass.package2"})