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

宝安做网站多少钱化妆品商城网站建设

宝安做网站多少钱,化妆品商城网站建设,ui设计公司哪家好,宁波网站建设的公司切面编程 代码地址#xff1a; orbit-hub/spring-boot-samples at master (github.com)https://github.com/orbit-hub/spring-boot-samples/tree/master 切面执行顺序 Spring5以后顺序就一切正常 正常#xff1a;前置通知目标方法返回通知后置通知 异常: 前置通知目标方…切面编程 代码地址 orbit-hub/spring-boot-samples at master (github.com)https://github.com/orbit-hub/spring-boot-samples/tree/master 切面执行顺序 Spring5以后顺序就一切正常  正常前置通知目标方法返回通知后置通知  异常: 前置通知目标方法异常通知后置通知  try{      前置通知      目标方法的执行      返回通知  }catch(){      异常通知  }finally{      后置通知  } 1、使用注解形式 定义注解 Target({ ElementType.PARAMETER, ElementType.METHOD }) Retention(RetentionPolicy.RUNTIME) Documented public interface Log {public String title() default 11;}定义切面 Aspect Component public class LogAspect2 {/*** 处理请求前执行*/Before(value annotation(controllerLog))public void boBefore(JoinPoint joinPoint, Log controllerLog) {System.out.println(controllerLog.title());String name joinPoint.getSignature().getName();System.out.println(前置logStart()name....【args: Arrays.asList(joinPoint.getArgs()) 】);}/*** 处理完请求后执行** param joinPoint 切点*/AfterReturning(pointcut annotation(controllerLog), returning jsonResult)public void doAfterReturning(JoinPoint joinPoint, Log controllerLog, Object jsonResult) {System.out.println(controllerLog.title());String name joinPoint.getSignature().getName();System.out.println(返回logReturn()name....【args: Arrays.asList(joinPoint.getArgs()) 】【result: jsonResult】);}//后置通知After(value annotation(controllerLog))public void logEnd(JoinPoint joinPoint, Log controllerLog){System.out.println(controllerLog.title());String name joinPoint.getSignature().getName();System.out.println(后置logEnd()name....【args: Arrays.asList(joinPoint.getArgs()) 】);}/*** 拦截异常操作** param joinPoint 切点* param e 异常*/AfterThrowing(value annotation(controllerLog), throwing e)public void doAfterThrowing(JoinPoint joinPoint, Log controllerLog, Exception e) {System.out.println(controllerLog.title());String name joinPoint.getSignature().getName();System.out.println(异常logError()name....【args: Arrays.asList(joinPoint.getArgs()) 】【exception: e】);}} 定义目标 Component public class HelloService {Logpublic String sayHello(String name){String result 你好name;System.out.println(result);int length name.length();return result --- length;} } 配置类 Configuration EnableAspectJAutoProxy ComponentScan(com.orbit.aop) public class MainConfig {} 测试类 public class AnnotationMainTest {public static void main(String[] args) {ApplicationContext applicationContext new AnnotationConfigApplicationContext(MainConfig.class);HelloService helloService applicationContext.getBean(HelloService.class);helloService.sayHello(zhangsan);}} 没有异常 11 前置logStart()sayHello....【args: [zhangsan]】 你好zhangsan 11 返回logReturn()sayHello....【args: [zhangsan]】【result: 你好zhangsan---8】 11 后置logEnd()sayHello....【args: [zhangsan]】 有异常 11 前置logStart()sayHello....【args: [zhangsan]】 你好zhangsan 11 异常logError()sayHello....【args: [zhangsan]】【exception: java.lang.ArithmeticException: / by zero】 11 后置logEnd()sayHello....【args: [zhangsan]】 Exception in thread main java.lang.ArithmeticException: / by zero 2、使用切入点表达式 切入点表达式语法 语法结构 execution([ 权限修饰符 ] [ 返回类型 ] [ 类全路径 ] [ 方法名称 ]([ 参数列表 ]) ) 举例 对 com.orbit.aop.service.HelloService类里面的 sayHello进行增强 execution(* com.orbit.aop.service.HelloService.sayHello(..)) 定义切面 Aspect //说明这是切面 Component //切面也是容器中的组件 public class LogAspect {//前置通知 增强方法/增强器Before(execution(* com.orbit.aop.service.HelloService.sayHello(..)))public void logStart(JoinPoint joinPoint){String name joinPoint.getSignature().getName();System.out.println(前置logStart()name....【args: Arrays.asList(joinPoint.getArgs()) 】);}//返回通知AfterReturning(value execution(* com.orbit.aop.service.HelloService.sayHello(..)),returning result)public void logReturn(JoinPoint joinPoint,Object result){String name joinPoint.getSignature().getName();System.out.println(返回logReturn()name....【args: Arrays.asList(joinPoint.getArgs()) 】【result: result】);}//后置通知After(execution(* com.orbit.aop.service.HelloService.sayHello(..)))public void logEnd(JoinPoint joinPoint){String name joinPoint.getSignature().getName();System.out.println(后置logEnd()name....【args: Arrays.asList(joinPoint.getArgs()) 】);}//异常AfterThrowing(value execution(* com.orbit.aop.service.HelloService.sayHello(..)),throwing e)public void logError(JoinPoint joinPoint,Exception e){String name joinPoint.getSignature().getName();System.out.println(异常logError()name....【args: Arrays.asList(joinPoint.getArgs()) 】【exception: e】);} } 没有异常 前置logStart()sayHello....【args: [zhangsan]】 你好zhangsan 返回logReturn()sayHello....【args: [zhangsan]】【result: 你好zhangsan---8】 后置logEnd()sayHello....【args: [zhangsan]】 有异常 前置logStart()sayHello....【args: [zhangsan]】 你好zhangsan 异常logError()sayHello....【args: [zhangsan]】【exception: java.lang.ArithmeticException: / by zero】 后置logEnd()sayHello....【args: [zhangsan]】
http://www.yutouwan.com/news/167639/

相关文章:

  • 光效网站南宁建设集团招聘信息网站
  • 长沙网站制造吉林做网站多少钱
  • 阜阳商城网站建设电子商务网站建设规划的内容
  • 做资料分享网站有哪些广东网站开发搭建
  • 在vs做的项目怎么连接到网站枫叶主机 wordpress
  • 高唐建筑公司网站洛阳霞光seo网络公司
  • 公司网站建设专家做网站推广一年多少钱
  • 大连百姓网免费发布信息网站用jsp做的网站需要什么工具
  • 昆山汽车网站建设重庆免费建网站
  • 备案网站应用服务网站开发合同甲方的权利
  • 无需注册网站模板下载wordpress主题_
  • 创意网站交互推广普通话的手抄报怎么画
  • 网站建设招标文件范本网站建设分析魅族
  • 图库素材网站模板网站建设的方法步骤
  • 厦门高端网站建设济南哪里做网站
  • 学校信息化网站建设新手网站设计看哪本书
  • 文件传输协议登录网站美食网站设计规划书
  • 网站建设面板重庆市建设工程施工安全管理网官网
  • 电商网站建设案例自己建网站怎么做seo
  • 网站建设的学习方法为什么要域名备案
  • html5手机网站模板 下载裤子seo标题优化关键词
  • 厦门高端网站案例网站建设项目维护与评价书
  • 网站的经营方式服装html网站模板下载
  • 青岛找网站建设公司好wordpress o2o插件
  • 网站模板素材怎么用logo免费设计生成
  • 医院网站asp设计网站开发方案流程
  • 两个域名同一个网站做优化佛山顺德容桂做网站的公司
  • 自助建站实验报告做网站销售水果
  • 建设部网站 干部学院 一级注册建筑师培训 2014年福建省住房城乡建设厅网站
  • 重庆城乡建设部网站首页公司网站公众号维护怎么做