当前位置: 首页 > news >正文

如何评价一个网站网站广告投放价格表

如何评价一个网站,网站广告投放价格表,网站建设需求确认书,好网站建设公司收费java aspectj在这篇博客文章中#xff0c;我描述了如何使用AspectJ自动将一种异常类型转换为另一种异常类型。 问题 有时#xff0c;我们处于必须将异常#xff08;通常由第三方库引发#xff09;转换为另一种异常的情况。 假设您正在使用像hibernate这样的持久性框架我描述了如何使用AspectJ自动将一种异常类型转换为另一种异常类型。 问题 有时我们处于必须将异常通常由第三方库引发转换为另一种异常的情况。 假设您正在使用像hibernate这样的持久性框架并且不想将特定于Hibernate状态的hibernate异常泄漏到某个应用程序层之外。 也许您正在使用不止一种持久性技术并且想将技术特定的异常包装到一个通用的基本异常中。 在这种情况下可以以如下代码结尾 public class MyRepository {public Object getSomeData() {     try {// assume hibernate is used to access some data} catch(HibernateException e) {// wrap hibernate specific exception into a general DataAccessExceptionthrow new DataAccessException(e);}} } 当然如果每次访问某个框架都必须这样做时这将变得很丑。 AspectJ方式 AspectJ是Java的面向方面的编程 AOP扩展。 使用AspectJ我们可以定义横切关注点为我们解决异常转换过程。 首先我们必须将AspectJ依赖项添加到我们的项目中 dependencygroupIdorg.aspectj/groupIdartifactIdaspectjrt/artifactIdversion1.7.4/version /dependency 接下来我们必须为AspectJ设置ajc编译器和字节码编织器。 此步骤取决于您使用的开发环境因此在此不再赘述。 Eclipse用户应该查看用于Eclipse的AspectJ开发工具AJDT 。 IntelliJ IDEA用户应确保启用AspectJ插件 。 还有一个AspectJ Maven插件可用请检查此pom.xml以获取示例配置。 现在让我们使用AspectJ批注定义方面 Aspect public class ExceptionTranslationAspect {Around(execution(* com.mscharhag.exceptiontranslation.repository..*(..)))public Object translateToDataAccessException(ProceedingJoinPoint pjp) throws Throwable {try {return pjp.proceed();} catch (HibernateException e) {throw new DataAccessException(e);}} } 使用Aspect批注我们可以声明一个新的方面。 在这方面我们使用Around注释定义一个建议如果传递的切入点匹配该建议将始终执行。 在这里切入点 execution(* com.mscharhag.exceptiontranslation.repository..*(..)) 每次执行com.mscharhag.exceptiontranslation.repository包中的类的方法时告诉AspectJ调用translateToDataAccessException。 在translateToDataAccessException中我们可以使用传递的ProceedingJoinPoint对象来进行我们截获的方法执行。 在此示例中我们仅在方法执行周围添加了一个try / catch块。 使用ProceedingJoinPoint实例我们还可以做更多有趣的事情例如使用pjp.getSignature分析方法签名或使用pjp.getArgs访问方法参数。 现在我们可以从上面显示的示例存储库实现中删除try / catch块并使用简单的测试来验证我们的方面是否正常工作 public class MyRepositoryTest {private MyRepository repository  new MyRepository();Test(expected  DataAccessException.class)public void testExceptionTranslation() {this.repository.getSomeData();} }结论 使用AspectJ我们可以轻松地自动执行Java运行时异常的转换。 通过删除try / catch块否则将简化异常转换从而简化了我们的代码。 您可以在GitHub上找到示例项目的完整源代码。 参考 Java我们的JCG合作伙伴 Michael Scharhag在mscharhagProgramming and Stuff博客上使用AspectJ进行了异常转换 。 翻译自: https://www.javacodegeeks.com/2014/02/java-exception-translation-with-aspectj.htmljava aspectj
http://www.zqtcl.cn/news/329019/

相关文章:

  • 打开网站说建设中是什么问题网站开发收税
  • 海口建设厅网站grimhelm wordpress
  • 如何快速提升网站pr淮北房产网
  • 微网站和微信广州营销型网站建设团队
  • 企业网站制作托管微信建站网站
  • h5网站如何做排名济南网站建设选聚搜网络
  • 网站建设 手机wordpress 仿煎蛋主题
  • 织梦可以仿所有网站吗电子商务网站建设臧良运课后答案
  • 怎样创建个人购物网站wordpress没有外观
  • 衡水手机网站建设公司计算机大专学历有用吗
  • 有哪些网站做的很好桐乡市建设局官方网站
  • 做公众号和网站一样吗免费正能量网站下载ww
  • 使用帝国做软件下载网站源码顺义区做网站的公司
  • 网站用什么颜色成都网站建设公司服务
  • 重庆手机网站方案设计凡科建站网站怎么保存发给别人
  • 北京住房建设官方网站xampp wordpress服务器
  • 卖衣服的网站建设素材网站免费短视频
  • 萍乡网站建设哪家公司好搜索引擎推广预算
  • 如何做网站不容易被攻击网站定位策划书
  • 自己做网站去哪买服务器多说wordpress
  • 网站排名突然没有了网站开发背景图
  • 比较容易做流量的网站设计模板素材网站
  • 电商网站建设 网站定制开发兰州展柜公司网站建设
  • 临沂城乡建设管理局网站腾讯体育
  • 一个空间怎么放两个网站ps个人网站首页怎么制作
  • 云南通耀建设工程有限公司网站国际购物网站平台有哪些
  • 网站建设外包服务上海网站建设公司怎么分辨好坏
  • 建筑类企业网站模板下载微信搜索推广
  • 上海网站备案在哪里wordpress短链接关键字
  • 金诚财富网站是谁做的建站技术博客