springboot是spring公司开发一套快速搭建javaWeb项目的框架,其最大的特点就是简便快捷,简化了Spring项目大量的配置文件,其核心思想就是拆箱即用和约定大于配置,而注解这种简便快捷的方式自然成为不二选择。下面总结了springboot中一些常用的注解。
扫描类的注解
@Mapper 和 @Repository
相同点
两个都是注解在Dao上
回到顶部
不同
@Repository需要在Spring中配置扫描地址,然后生成Dao层的Bean才能被注入到Service层中。
@Mapper不需要配置扫描地址,通过xml里面的namespace里面的接口地址,生成了Bean后注入到Service层中。
PS: 在SpringBoot 的DAO层,都用@Mapper,如果不进行任何的配置就改用@Repository会报错:org.springframework.beans.factory.NoSuchBeanDefinitionException
@Service
@Service 使用在业务逻辑层实现类上
@Controller、@ControllerAdvice、@RestController
@Controller:控制器注解
-> @ControllerAdvice:特殊的控制器
-> @RestController:RESTful控制器, 返回数据均为JSON数据,多用于前后端分离项目时声明控制类。
PS:
当使用@RestController 该注解,被注解声明的控制类的所有方法均不用加上@ResponseBody声明。因为@RestController注解中包含了@ResponseBody,所有方法只能也只会返回JSON数据
@Component
@Component:把普通pojo实例化到spring容器中,相当于配置文件中的 。泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类。
扫描类注解的整体来源(SSM中):
案例:在SSM的Spring配置文件中命令:<context:component-scan base-package=”com.*”> 是引入Component组件的例子,其中base-package表示为需要扫描的所有子包。
共同点:被@controller 、@service、@repository 、@component 注解的类,都会把这些类纳入进spring容器中进行管理
4种请求方法
@GetMapping
@PostMapping
@DeleteMapping
@PutMapping