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

wordpress整合discuz用户seo工具包

wordpress整合discuz用户,seo工具包,做gif动态图网站,怎么做代刷网网站app前言 AOP编程在Java开发中是一个非常火热的话题,最著名的库为AspectJ Kotlin项目中,通过Gradle插件,也能够使用该库,这是我们下面讲解的重点 由于AspectJ的原理是在预编译阶段,通过插件修改代码,生成代理…
前言

AOP编程在Java开发中是一个非常火热的话题,最著名的库为AspectJ

Kotlin项目中,通过Gradle插件,也能够使用该库,这是我们下面讲解的重点

由于AspectJ的原理是在预编译阶段,通过插件修改代码,生成代理对象

属于编译阶段的功能,因为非常依赖编译工具的版本

这里用的版本是Gradle8.7,如果不兼容记得调整版本号

Gradle脚本代码,用的也是Gradle8.7+KotlinScript的语法,记得根据版本调整

引入插件依赖
pluginManagement {plugins {id("org.jetbrains.kotlin.jvm") version "1.9.23" apply falseid("io.freefair.aspectj.post-compile-weaving") version "8.7.1" apply false}
}dependencyResolutionManagement {repositoriesMode = RepositoriesMode.FAIL_ON_PROJECT_REPOSrepositories {mavenCentral()gradlePluginPortal()}
}
应用插件到模块
plugins {id("org.jetbrains.kotlin.jvm")id("io.freefair.aspectj.post-compile-weaving")
}dependencies {api("org.aspectj:aspectjrt:1.9.6")api("org.aspectj:aspectjweaver:1.9.6")
}
Kotlin代码
package com.code.kotlinfun main() {Good().doSomething()
}class Good {fun doSomething() {println("doSomething")}
}
AOP规则

插件会自动搜索带有@Aspect注解的文件

@Pointcut通过特征表达式,来指定切入点,即要拦截哪些方法

@Before @After指定切入方式,即在什么时机切入,方法执行前,还是方法执行后

其它更详细的注解,大家自己根据需要去了解,这里主要讲解集成和使用方式

package com.code.kotlinimport org.aspectj.lang.JoinPoint
import org.aspectj.lang.annotation.After
import org.aspectj.lang.annotation.Aspect
import org.aspectj.lang.annotation.Before
import org.aspectj.lang.annotation.Pointcut@Aspect
class AspectRule {@Pointcut("execution(* com.code.kotlin.Good.doSomething(..))")fun anyFunction() {}@Before("anyFunction()")fun beforeFunction(joinPoint: JoinPoint) {println("before function executed: $joinPoint")}@After("anyFunction()")fun afterFunction(joinPoint: JoinPoint) {println("after function executed: $joinPoint")}
}
运行结果
before function executed: execution(void com.code.kotlin.Good.doSomething())
doSomething
after function executed: execution(void com.code.kotlin.Good.doSomething())
优势分析

可以看到,简单引入和应用插件即可

AOP代码完全独立于原始代码,真正做到了代码解耦

非常适合对关键位置代码进行监听和修改的需求

注意事项

由于生成的代码依赖于Gradle插件

所以AOP规则修改后,如果代码没生效,可以尝试Reload一下Gradle脚本

另外,此插件和安卓编译插件,在实现方式上容易产生版本冲突

安卓项目需要使用AOP,建议使用其它插件,这个我们下一章会讲解

http://www.dt0577.cn/news/47020.html

相关文章:

  • 办网站需要什么网络黄页推广软件哪个好
  • 一个公司怎么做网站都放些什么徐州seo顾问
  • 网络服务示范区创建情况企业关键词优化专业公司
  • 带数据库的网站做营销目标分为三个方面
  • 购物网站开发分工娱乐热搜榜今日排名
  • wordpress自定义的注册页面模板千度seo
  • 成都哪家做网站好泉州搜索推广
  • 视频搜索网站建设2023年8月份新冠症状
  • 网站移动转换seo网站搭建是什么
  • 聊城高端网站制作站长工具app官方下载
  • 想自己做网站推广关键词检索怎么弄
  • 小型企业网站建设的背景互联网营销策划案
  • 成都网站建设福州培训机构加盟
  • 平台网站模板素材google框架一键安装
  • 查询网站备案查询东莞关键词优化平台
  • 百度推广关键词怎么设置好seo网站排名后退
  • 如何用java做网站界面宣传推广计划怎么写
  • 济宁b2b网站建设服务东莞做网站的公司吗
  • 响应式网站模版seo公司推荐推广平台
  • 建设教育网站seo技术好的培训机构
  • p2p网站开发用什么平台深圳网站建设微信开发
  • 网站生成pc应用如何seo推广
  • 杭州响应式网站长春网站优化团队
  • 南通市建设局网站南宁seo优化公司
  • 天津酒店网站制作化工seo顾问
  • 东莞市网络营销推广怎么样seo建设招商
  • 东莞做网站找微客巴巴网站收录大全
  • 网站建设运营要求企业邮箱注册
  • 深圳工信部网站备案信息查询百度app营销软件
  • 云南做网站哪家便宜在线发外链工具