springBoot常用注解整理

本文探讨了Spring框架中MVC各层的注解应用,如@Service、@Controller和@Repository,并深入解析了AOP中的关键注解如@Aspect、@Pointcut和@Around。此外,还介绍了实体类注解、异常处理相关注解和配置管理。

mvc层注解

1、@Service用于标注业务层组件 
2、@Controller用于标注控制层组件(如struts中的action) 
3、@Repository用于标注数据访问组件,即DAO组件. 
4、@Component泛指组件,以上注解都是基于该注解的扩展。当组件不好归类的时候,我们可以使用这个注解进行标注。(该类不属于mvc层里面的类,类似生成token,验证等与业务无关的类)

实体类的注解

AOP相关注解

1.@Aspect:作用是把当前类标识为一个切面供容器读取

@Aspect
@Component
@Slf4j
public class CopyAOP {
@Pointcut(
      "execution(* com.wistron.smart.service.impl.SyncDateTaskService.*(..))&& !execution(* com.wistron.smart.service.impl.SyncDateTaskService.refresh(..))")
  public void async() {}

  @Pointcut("execution(* com.wistron.smart.service.impl.SyncDateTaskService.refresh())")
  public void refresh() {}

  // 拦截除refresh之外的所有方法
  @Around("async()")
  public Object asyncAop(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
    return aspect(proceedingJoinPoint, getUrl());
  }

  // 特殊刷新请求
  @Around("refresh()")
  public Object refreshAop(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
    return aspect(proceedingJoinPoint, getUrl() + "/refresh");
  }

}

2.@Pointcut:Pointcut是植入Advice的触发条件。每个Pointcut的定义包括2部分,一是表达式,二是方法签名。方法签名必须是 public及void型。可以将Pointcut中的方法看作是一个被Advice引用的助记符,因为表达式不直观,因此我们可以通过方法签名的方式为 此表达式命名。因此Pointcut中的方法只需要方法签名,而不需要在方法体内编写实际代码。
3.@Around:环绕增强,相当于MethodInterceptor
4.@AfterReturning:后置增强,相当于AfterReturningAdvice,方法正常退出时执行
5.@Before:标识一个前置增强方法,相当于BeforeAdvice的功能,相似功能的还有
6.@AfterThrowing:异常抛出增强,相当于ThrowsAdvice
7.@After: final增强,不管是抛出异常或者正常退出都会执行

配置相关注解

异常公共处理相关注解

其他注解

1.@Slf4j  类里面可以使用 log.info的注解,运行时在控制台打印信息用。比System.out.println()好用,能打印堆栈信息

2.@Value("${host}") public String url; @Value("${server.servlet.context-path}")

获取yml配置文件的值

3.

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值