日志和实体类注解
@Slf4j -- 日志注解,
(1)输出各个等级的日志,info,debug...
(2)可用占位符,如{}:规则:占位符语句和变量用逗号隔开。例: log.info("用户名:{}",username);
@Data -- 修饰实体类:提供get set toString 等方法,
@NoArgsConstructor -- 修饰实体类,提供一个无参数的构造方法
@AllArgsConstructor -- 修饰实体类,提供一个全参的构造,记得和无参数注解 一起用(使用全参构造后,无参构造默认不会创建了)
mybatis注解
@Mapper: Mybatis的注解,替代@Repository注解
@Select("sql语句"):用于Mapper(Dao)接口的方法上,基于注解形式开发的SQL查询操作
@Update("sql语句"):用于Mapper(Dao)接口的方法上,基于注解形式开发的SQL修改操作
@Insert("sql语句"):用于Mapper(Dao)接口的方法上,基于注解形式开发的SQL插入操作
@Delete("sql语句"):用于Mapper(Dao)接口的方法上,基于注解形式开发的SQL删除操作(物理删除)
AOP切面常用注解
@Aspect:
将一个类标记为切面类。在该类中,可以定义切点和通知(Advice)
@Pointcut:定义切点,即在程序中定义哪些方法或类应该被切入。可以使用execution表达式来定义切点,例如基于方法的执行、类的构造等
@Before: 在目标方法执行之前执行的通知。可以在通知中编写额外的逻辑,例如日志记录、权限校验等
@After:在目标方法执行之后(无论是否抛出异常)执行的通知。通常用于资源清理、日志记录等
@AfterReturning:在目标方法正常返回后执行的通知。可以将目标方法的返回值作为参数传递给通知方法
@AfterThrowing:在目标方法抛出异常后执行的通知。可以将抛出的异常作为参数传递给通知方法
@Around:在目标方法前后执行的通知。可以控制目标方法的执行,包括是否执行目标方法、修改返回值、抛出异常等
@EnableAspectJautoProxy:在配置类中声明的注解
Spring其他注解
@Scope -- 用于指定Bean的作用域,即对象的生命周期范围。
@Scope注解包含以下常见的取值:
- singleto(默认):每个Spring容器只会创建一个Bean实例(即单例模式),并在容器关闭时销毁
- prototype:每次请求Bean时,容器都会创建一个新的实例(即非单例模式)
- request:每次HTTP请求都会创建一个新的实例,适用于Web应用程序。
- session:每个HTTP会话期间只会创建一个实例,适用于Web应用程序。
- global session:在一个全局HTTP会话中只会创建一个实例,通常用于Portlet应用程序。
@DateTimeFormat:在方法参数上接收前端传来的时间格式数据
全局异常注解
@ControllerAdvice:用于定义全局异常处理类
@ExceptionHandler:用于定义一个方法,指定异常处理的类型
@ResponseStatus:定义处理异常时的HTTP响应状态码
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
@ResponseStatus(“404”)
public ResponseEntity<ErrorResponse> handleException(Exception ex) {
ErrorResponse errorResponse = new ErrorResponse("Internal Server Error", ex.getMessage());
return new ResponseEntity<>(errorResponse, HttpStatus.INTERNAL_SERVER_ERROR);
}
}
SpringBoot常用注解
@SpringBootApplication:组合注解,用于标记启动类,由@Configuration、@EnableAutoConfiguration(自动配置)和@ComponentScan(组件扫描,默认扫本包及子包)
@EnableAutoConfiguration:用于启用Spring Boot的自动配置机制,它会根据项目的依赖和配置自动配置应用程序的各种组件,例如数据源、事务管理器等
@ConfigurationProperties: 这个注解用于绑定配置文件中的属性到Java对象上,通过将属性值注入到对象中,可以方便地配置和管理应用程序的属性
@ConditionalOnproperty:可以根据属性的值来决定是否启用某个组件或配置
基于上一篇Spring注解总结经常遇到的Spring开发注解,希望能给大家帮助