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

被折叠的 条评论
为什么被折叠?



