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

帝国网站模版外国网站上做雅思考试

帝国网站模版,外国网站上做雅思考试,网站如何优化关键词排名,在百度上做个网站需要多少钱Spring AOP 指导教程什么是Spring AOP spring aop可以在spring构建的系统中使用面向切面编程。当然Spring Boot也是基于Spring构建的。使用AOP可以实现诸如事务#xff0c;日志以及安全校验等通过切面统一完成的任务。他可以通过简单的注解方式实现在方法执行前后来执行你自己…Spring AOP 指导教程什么是Spring AOP spring aop可以在spring构建的系统中使用面向切面编程。当然Spring Boot也是基于Spring构建的。使用AOP可以实现诸如事务日志以及安全校验等通过切面统一完成的任务。他可以通过简单的注解方式实现在方法执行前后来执行你自己的逻辑。什么是advice, joinpoint和pointcutJoinpoint程序的执行点如方法的执行或者异常的处理。Pointcut一个用来匹配joinpoint的断言或者表达式。Advice与一个pointcut关联并在匹配点运行。advices的类型Before advice在join point之前执行的advice不能阻止程序的继续运行。After returning advice在join point完成之后执行的advice。After throwing advice在执行的方法抛出异常之后执行。After advice在执行的join point退出之后执行不论正常退出或者抛出了异常。Around advice可以在方法调用之前或之后执行自定义行为并且还可以选择继续执行join point或者执行另外的方法。Spring AOP 示例编写Aspectclass然后写相应的执行方法并在方法上写joint-point表达式面向切面编程首先需要在类上加Aspect注解表名这是一个AOP管理的类然后在方法上加上point-cut表达式用来匹配joint-point方法。Aspectpublic class EmployeeCRUDAspect { Before(execution(* EmployeeManager.getEmployeeById(..))) //point-cut expression public void logBeforeV1(JoinPoint joinPoint) { System.out.println(EmployeeCRUDAspect.logBeforeV1() : joinPoint.getSignature().getName()); }}写由切面控制的方法(joint points)首先将类注入到Spring中之后写正常的方法即可。Componentpublic class EmployeeManager{ public EmployeeDTO getEmployeeById(Integer employeeId) { System.out.println(Method getEmployeeById() called); return new EmployeeDTO(); }}在上面的例子中logBeforeV1方法会在getEmployeeById方法执行之前执行。将会打印如下日志EmployeeCRUDAspect.logBeforeV1() : getEmployeeByIdMethod getEmployeeById() calledAOP注解Before在切面控制的方法之前执行。Aspectpublic class LoggingAspect { Before(execution(* com.howtodoinjava.app.service.impl.EmployeeManagerImpl.*(..))) public void logBeforeAllMethods(JoinPoint joinPoint) { ... } Before(execution(* com.howtodoinjava.app.service.impl.EmployeeManagerImpl.getEmployeeById(..))) public void logBeforeGetEmployee(JoinPoint joinPoint) { ... }}logBeforeAllMethods方法会在EmployeeManagerImpl中所有方法执行前执行。After在切面控制的方法之后执行。Aspectpublic class LoggingAspect { After(execution(* com.howtodoinjava.app.service.impl.EmployeeManagerImpl.*(..))) public void logAfterAllMethods(JoinPoint joinPoint) { ... } After(execution(* com.howtodoinjava.app.service.impl.EmployeeManagerImpl.getEmployeeById(..))) public void logAfterGetEmployee(JoinPoint joinPoint) { ... }}Around可以在方法执行前后切入。Aspectpublic class LoggingAspect { Around(execution(* com.howtodoinjava.app.service.impl.EmployeeManagerImpl.*(..))) public void logAroundAllMethods(ProceedingJoinPoint joinPoint) throws Throwable { System.out.println(****LoggingAspect.logAroundAllMethods() : joinPoint.getSignature().getName() : Before Method Execution); try { joinPoint.proceed(); } finally { //Do Something useful, If you have } System.out.println(****LoggingAspect.logAroundAllMethods() : joinPoint.getSignature().getName() : After Method Execution); }​}AfterReturning在方法执行完成且没有抛出任何异常的情况下。Aspectpublic class LoggingAspect { AfterReturning(execution(* com.howtodoinjava.app.service.impl.EmployeeManagerImpl.*(..))) public void logAfterReturningAllMethods() throws Throwable { System.out.println(****LoggingAspect.logAfterReturningAllMethods() ); }​}以上示例中只用到了execution方式还有一种使用annotation可以对注解了指定接口的方法进行切面编程。这种用法在之前的mybatis多数据源中使用过。另外还有很多AOP的注解如果大家感兴趣的话会继续把剩下的用法写完~
http://www.sadfv.cn/news/393225/

相关文章:

  • 中国优秀网站江西求做网站
  • 做数据的网站重庆做网站seo优化选哪家好
  • 网站建设与管理必修广州企业建站公司
  • 网站主题切换wordpress网站首页
  • 建设工程规划许可证网站免费找素材软件
  • 长沙企业网站建设团队龙岩做网站推广
  • 网站建设安全架构wordpress 数据库sql
  • 商业计划书模板双滦区seo整站排名
  • 做配资网站多少钱网络推广运营的技巧
  • 医疗保险网站网站建设需要什么语言
  • 生成前端页面的网站网站建设与客户价格谈判技巧
  • 塘沽做网站纯文本网站建设
  • 林州网站建设哪家便宜优化设计四年级下册语文答案
  • 广西住房与建设厅网站网站建设便宜的公司
  • 网站搭建怎么弄的怎么做英文版网站
  • 网站建设属于什么职位类别网站页面模板 建设中
  • 网站加alt属性对优化有影响吗网站后台模板免费下载
  • 备案网站内容怎么写企业网站模板下载网站模板下载
  • 焦点网站设计如何让别人在百度上搜到自己公司
  • 设计机构网站做的比较好看的国内网站
  • 温州平阳县网站建设兼职免备案域名解析
  • 怎么给网站刷流量移动网站开发试验报告
  • 做网站搭建环境wordpress 聚合
  • icp备案网站接入信息ip地址段82家合法现货交易所名单
  • 摄影网站网页设计室内设计效果图怎么收费
  • 有网站教做水电资料吗专业推广运营公司
  • 东莞网站建设 石佳代理分销系统开发
  • 娱乐网站设计与实现为wordpress移动端
  • 上海营销型网站建设平台公司宣传网站制作
  • 做i爱小说网站省住房和城乡建设厅