IDEA中自定义注解支持SpEL代码提示, 自定义参数, 函数参数, 返回值

本文介绍了SpELAssistant插件,它简化IDEA对SpEL的支持,无需绑定java注解库,提升性能,支持方法返回值和参数提示,以及自定义字段和常量定义。

注意, 请使用SpEL Assistant插件, 由于收藏过多, 所以暂不删帖了

SpEL Assistant不需要绑定java注解库, 可以避免各位代码洁癖, 另外由于减少了代码扫描, 性能也有很大提升

注意, 请使用SpEL Assistant插件, 由于收藏过多, 所以暂不删帖了

注意, 请使用SpEL Assistant插件, 由于收藏过多, 所以暂不删帖了

注意, 请使用SpEL Assistant插件, 由于收藏过多, 所以暂不删帖了

SpEL Assistant介绍

SpEL Assistant介绍

SpEL Assistant介绍

示意图片

背景

首先 IDEA 默认是不支持 SpEL 的代码提示的

根据网上教程, 我们只能使用java-annotations库, 并添加@Language("SpEL")注解

但这样仅仅是能够支持SpEL表达式, 并不支持自定义变量, 也不支持提示方法参数和返回值. 尤其是对写框架和第三方库的人来说, 特别不友好

因此我写了这么一个IDEA插件: SpEL Extension, 支持2021.3以上版本的IDEA

安装

  1. 在项目中引入相关注解库

    pom.xml

    <dependency>
        <groupId>kim.nzxy</groupId>
        <artifactId>spel-extension</artifactId>
        <version>1.0.0</version>
        <scope>provided</scope>
    </dependency>
    

    build.gradle.kts

    dependencies {
        compileOnly("kim.nzxy:spel-extension:1.0.0")
    }
    

    build.gradle

    dependencies {
        compileOnly 'kim.nzxy:spel-extension:1.0.0'
    }
    
  2. 在IDEA中搜索并安装SpEL Extension插件, 安装后无需重启

使用

如图所示, 支持两种情况的代码提示

  1. SpELMethod/SpELField注解放到注解的字段上, 即可添加相应的代码提示支持功能
  2. SpELWith注解标注的普通的java字段中, 即可给出对应注解的代码提示(注: 仅支持标注了SpELMethodSpELField的字段, 暂不支持Spring原生字段)

注解详解

@kim.nzxy.spel.SpELMethod----函数相关

如果标注了SpELMethod的注解作用于方法上, 则提示方法的返回值和参数信息

名称类型默认值解释
resultbooleanfalse为true则支持方法返回值
resultNameString“result”方法返回值的变量名称
parametersbooleanfalse为true表示支持方法参数, 默认支持所有参数名称
parametersPrefixString[]{“p”, “a”}方法参数序号名称, 如p0/a0表示第一个参数 如不需要, 可手动指定parametersPrefix = {}

@kim.nzxy.spel.SpELField–字段相关

定义该字段的变量参数, 支持定义多个

名称类型默认值解释
nameString\SpEL变量名, 如果为"root", 则视为SpEL的root节点
typeClass<?>Object.class变量类型, 如果typeStr非空, 则忽略此字段
typeStrString“”变量类型, 支持泛型, 示例: String, java.lang.String, java.util.List<String>

@kim.nzxy.spel.SpELWith–方便定义常量

如果参数特别长, 可以用来方便的定义常量, 此注解可以方便的在常量字符串中支持代码提示

名称类型默认值解释
annoClass<? extends Annotation>\对应注解
fieldString“value”对应注解字段名称

TODO

  • 支持配置文件配置, 免去引入spel-extension
  • 支持配置SpEL自定义函数
  • 支持自动推荐插件安装
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值