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

乡镇做电器网站能不能营运合肥seo排名优化

乡镇做电器网站能不能营运,合肥seo排名优化,交互式网站的发展,免费门户网站模板通过在编译期间,修改Java的AST(Abstract Syntax Tree)树,可以往类中,添加/修改(覆盖)方法、属性等。 现在比较常见的三方依赖例子有:Lobbok的Data可以生成get、set方法,Sl4j2可以生成静态常量l…

通过在编译期间,修改Java的AST(Abstract Syntax Tree)树,可以往类中,添加/修改(覆盖)方法、属性等。

现在比较常见的三方依赖例子有:Lobbok的@Data可以生成get、set方法,@Sl4j2可以生成静态常量log。

这篇文章,主要通过代码展示如何生成get、set方法。

编写一个只在编译期存在的注解:

import java.lang.*;@Target({ElementType.TYPE})
@Retention(RetentionPolicy.SOURCE)
public @interface Data {    }

注解增强器

Java 编译器对注解的操作,是通过继承AbstractProcessor来实现的。如下是一个添加setter方法:

流程:

  1. 初始化参数操作,见init方法
  2. 在process方法中。生成方法。
  3. 先获取注解元素集合:
  4. 将注解元素转成class定义元素集合:
  5. 最后遍历class元素集合,获取其属性,并生成方法,修改dsfs树。

过程代码涉及信息泄密,忽略。

配置注解增强器

遵循SPI(Service Provider interface),在resources/META-INF/services中配置注解增强器,项目结构结构如下:
先忽略

文件的内容如下,如果有多个增强器,按行配置即可:

incremental.annotation.processors:

com.huawei.fbb.cool.aspect.cool.data.DataProcessor,isolating1

javax.annotation.processing.Processor:

com.huawei.fbb.cool.aspect.cool.data.DataProcessor

效果

参考@Data编译后的class文件

补充说明

由于是编译时注解,注解增强器,一定要单独一个项目(项目A),然后打包给其它服务引用(项目B)。

项目A的pom:

    <dependencies><dependency><groupId>com.sun</groupId><artifactId>tools</artifactId><version>1.8</version><scope>system</scope><systemPath>${java.home}/../lib/tools.jar</systemPath></dependency></dependencies><build><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target></configuration><executions><execution><id>default-compile</id><configuration><compilerArgument>-proc:none</compilerArgument></configuration></execution><execution><id>compile-project</id><phase>compile</phase><goals><goal>compile</goal></goals></execution></executions></plugin></plugins></pluginManagement></build>

其中关于配置,可以用谷歌的 AutoService

当前缺陷

由于往AST插入方法元素,没有判断是否依据存在此类方法,所以很可能覆盖掉之前类中已经存在的方法

解决

增加方法之前,最好先判断一下是否已经含有这个的方法,如果有,就不插入。

http://www.hkea.cn/news/96399/

相关文章:

  • 佛山网站建设佛山网络推广代运营公司靠谱吗
  • 贵阳疫情最新消息站内seo优化
  • wordpress相关问题深圳百度关键字优化
  • 做国珍新时代 网站陕西seo顾问服务
  • 建立网站怎么做关键字搜索引擎营销的作用
  • 广州手机网站建设宁波seo优化费用
  • 怎么设置网站服务器宁德市教育局官网
  • 查看网站源代码建站可以牛排seo系统
  • 政府网站建设的基本原则百度网盘电脑版
  • 张家港网站建设福州百度快速优化
  • 兼职做网站编辑百度搜索推广开户
  • 谁告诉你j2ee是做网站的宁波网站推广找哪家公司
  • 谷歌外贸建站多少钱搭建网站教程
  • 赚钱靠普的网站关键字搜索软件
  • 建设银行深分行圳招聘网站做游戏推广一个月能拿多少钱
  • 北京网站建设及推广招聘关键词排名代做
  • 对网站建设的意见建议网络营销推广的方法有哪些
  • 爬虫网站怎么做怎样才能在百度上面做广告宣传
  • 网站页码南昌做seo的公司有哪些
  • 网络设计方案包括哪些深圳百度推广seo公司
  • 亚马逊跨境电商开店站长工具seo综合查询5g
  • 网站怎么做百度快照logo百度快照优化推广
  • 山西网站建设排名seo技术培训山东
  • 日韩系成人影片成首选网站如何优化推广
  • 网站到期续费通知搜索风云排行榜
  • 网站公司说我们做的网站服务器不够用哪个杭州seo好
  • 类似淘宝网站建设费用杭州哪家seo公司好
  • 装修网站怎样做seo专员很难吗
  • 无锡网站外包如何接广告赚钱
  • 英文网站制作 官网淘宝标题优化网站