JAVA注解在SSH开发中的简单应用
来源:互联网 发布:网络打鱼游戏作弊教程 编辑:程序博客网 时间:2024/06/15 14:51
在系统开发过程中,出现错误在所难免。虽然系统出错时控制台也会报错,但是因为系统控制台输出太多,往往不能快速定位出现错误的功能点及原因。在此通过使用注解,结合spring的AOP,来制作一个错误输出拦截器。
首先写一个注解类Catcher:
@Target({ ElementType.METHOD })@Retention(RetentionPolicy.RUNTIME)@Documented@Inheritedpublic @interface Catcher {String name();//模块名}
然后定义一个切面:ExceptionInterceptor
@Aspectpublic class ExceptionInterceptor {private Logger logger = Logger.getLogger(ExceptionInterceptor.class); /** * 拦截service层带有Catcher注解的所有异常 * @param point * @param cat * @param ex */ @AfterThrowing(pointcut="execution(* com.*.service.*.*(..))&&@annotation(cat)",throwing="ex") public void serviceSite(JoinPoint point,Catcher cat,Throwable ex){ StackTraceElement st=ex.getStackTrace()[0]; logger.error("产生错误的模块:"+cat.name());logger.error("产生错误的类:"+point.getTarget().getClass().getSimpleName());logger.error("产生异常的方法:"+point.getSignature().getName());logger.error("出错行数:"+st.getLineNumber());logger.error("异常类型:"+ex.getClass().getName());logger.error("错误信息:"+ex.getMessage()); }}注:ExceptionInterceptor需要在spring.xml中定义
<bean id="exceptionInterceptor" class="com.util.ExceptionInterceptor"><property name="sessionFactory" ref="sessionFactory" /></bean>用法:
因为在拦截器中拦截的是service层的方法(当然也可以拦截其它地方),所以对于需要拦截的方法,都要加上@Catcher注解。
运行这个方法时,系统就会报错:
产生错误的类:类名
<pre name="code" class="java">产生异常的方法:test
出错行数:相应的行数(当前是90)
异常类型:RuntimeException
错误信息:出现了一个错误
是不是很直观呢?
0 0
- JAVA注解在SSH开发中的简单应用
- ssh框架视频教程在实际开发中的应用
- MyEclipse10-SSH简单开发应用
- 注解在Android中的应用
- Java注解开发及ICOP平台中的应用
- Java反射在Android中的简单应用
- LibSVM在Java中的简单应用
- 【JAVA秒会技术之压力测试工具】JMeter在电商开发中的简单应用
- 浅谈java在嵌入式开发中的应用
- Java反射在开发中的一些应用
- Java在游戏服务器开发中的应用
- Java在游戏服务器开发中的应用
- Java在游戏服务器开发中的应用
- Java在游戏服务器开发中的应用
- Java在游戏服务器开发中的应用
- Java在游戏服务器开发中的应用
- Java在游戏服务器开发中的应用
- Java 反射在实际开发中的应用
- [Leetcode] Wildcard Matching
- str_replace() 函数
- SpringMvc使用Freemarker时的配置文件
- Spring声明式事务配置管理方法
- 《数据结构》间接寻址类的定义参考部分代码
- JAVA注解在SSH开发中的简单应用
- C# Java间进行RSA加密解密交互 .
- openCV常见错误
- 为什么平衡对游戏数值策划如此重要
- 高手速成android开源项目【View篇】
- 什么才是真智能家居?
- good material for STL
- 心动不如行动, 盘点职场实干者的10大标志
- 关于C++/C中防止头文件的重复包含的解决办法 (转)