常用注解
@RequestBody
用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的)
@RestController
返回json数据所需注解
@RequestMapping
配置url映射
@JsonFormat
格式化字段
@ServletComponentScan
启用别名
@ServletComponentScan
在 Spring Boot启动类上使用@ServletComponentScan 注解后,使用@WebServlet、@WebFilter、@WebListener标记的 Servlet、Filter、Listener 就可以自动注册到Servlet容器中,无需其他代码。
@JsonInclude
隐藏字段 隐藏空字段: @JsonInclude(JsonInclude.Include.NON_NULL)
@Configuration
用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。
@Bean
是一个方法级别上的注解,主要用在@Configuration注解的类里,也可以用在@Component注解的类里。添加的bean的id为方法名
@PropertySource
通过@PropertySource注解将properties配置文件中的值存储到Spring的 Environment中,Environment接口提供方法去读取配置文件中的值,参数是properties文件中定义的key值。
@Repository
这是因为该注解的作用不只是将类识别为Bean,同时它还能将所标注的类中抛出的数据访问异常封装为 Spring 的数据访问异常类型。 Spring本身提供了一个丰富的并且是与具体的数据访问技术无关的数据访问异常结构,用于封装不同的持久层框架抛出的异常,使得异常独立于底层的框架
@WebListener
应用上下文监听
@Value
通过注解将常量、配置文件中的值、其他bean的属性值注入到变量中,作为变量的初始值。
swagger注解
@EnableSwagger2
使用swagger工具
@ApiOperation
swagger的接口说明
@ApiParam
使用在方法上或者参数上,字段说明;表示对参数的添加元数据(说明或是否必填等)
拦截器注解
@WebFilter
配置拦截的地址
定时任务注解
@EnableScheduling
启动类上添加@EnableScheduling开启定时任务,自动扫描
@Component
类上添加注解被容器扫描
@Scheduled
定时执行的方法加上注解
@Scheduled(cron = “*/1 * * * * *”)
crontab 实现每秒执行一次任务
crontab 在线工具 https://tool.lu/crontab/
@EnableAsync
启动类里面使用@EnableAsync注解开启异步任务功能,自动扫描
@Async
定义异步任务类并使用@Component标记组件被容器扫描,异步方法加上@Async
单元测试注解
@RunWith(SpringRunner.class) //底层用junit SpringJUnit4ClassRunner @SpringBootTest(classes={DemoProjectApplication.class})//启动整个springboot工程
@Before
在做某一单元测试优先执行(相当于初始化)
@Test
进行单元测试注解(测试逻辑)
@After
测试完成执行的操作(资源的回收利用)
异常注解
@RestControllerAdvice
标记处理异常的类
@ExceptionHandler
处理哪一类异常 如Exception全局异常
@ControllerAdvice
使用全局类异常处理