Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
水滴come
qlexpress
提交
33394597
Q
qlexpress
项目概览
水滴come
/
qlexpress
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Q
qlexpress
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
33394597
编写于
11月 24, 2021
作者:
T
tianqiao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
3.2.6 代码更新
上级
cca66460
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
15 addition
and
7 deletion
+15
-7
VERSIONS.md
VERSIONS.md
+5
-1
pom.xml
pom.xml
+1
-1
src/main/java/com/ql/util/express/annotation/QLAlias.java
src/main/java/com/ql/util/express/annotation/QLAlias.java
+1
-1
src/main/java/com/ql/util/express/annotation/QLAliasUtils.java
...ain/java/com/ql/util/express/annotation/QLAliasUtils.java
+1
-2
src/test/java/com/ql/util/express/annotation/QLAliasTest.java
...test/java/com/ql/util/express/annotation/QLAliasTest.java
+4
-2
src/test/java/com/ql/util/express/bugfix/RecursivelyRunnerTest.java
...ava/com/ql/util/express/bugfix/RecursivelyRunnerTest.java
+3
-0
未找到文件。
VERSIONS.md
浏览文件 @
33394597
...
...
@@ -128,4 +128,8 @@ public Object execute(InstructionSet[] instructionSets,IExpressContext<String,Ob
## 3.2.5版本[2021-8-23]
(1)支持强大的数组符号访问属性功能(List,Map,Array):ArrayPorpertyMixTest
(2)支持lambda表达式,stream方式操作集合书写更高效(List,Map):LambdaTest
(3)解决数组类型的方法匹配bug:ArrayMisType
\ No newline at end of file
(3)解决数组类型的方法匹配bug:ArrayMisType
## 3.2.6版本[2021-11-24]
(1)彻底解决ExpressRunner重入问题,可以嵌套使用:RecursivelyRunnerTest
(2)重磅特性:通过@QLAlias对字段和方法上添加注解,实现中文字段和中文方法调用:QLAliasTest
\ No newline at end of file
pom.xml
浏览文件 @
33394597
...
...
@@ -6,7 +6,7 @@
<groupId>
com.alibaba
</groupId>
<artifactId>
QLExpress
</artifactId>
<packaging>
jar
</packaging>
<version>
3.2.
5
</version>
<version>
3.2.
6
</version>
<name>
QLExpress
</name>
<description>
QLExpress is a powerful, lightweight, dynamic language for the Java platform aimed at improving developers’ productivity in different business scenes.
</description>
<url>
https://github.com/alibaba/QLExpress
</url>
...
...
src/main/java/com/ql/util/express/annotation/QLAlias.java
浏览文件 @
33394597
...
...
@@ -36,7 +36,7 @@ import static java.lang.annotation.ElementType.*;
*
*/
@Inherited
@Target
({
TYPE
,
FIELD
,
METHOD
})
@Target
({
TYPE
,
FIELD
,
METHOD
,
PARAMETER
})
@Retention
(
RetentionPolicy
.
RUNTIME
)
public
@interface
QLAlias
{
/**
...
...
src/main/java/com/ql/util/express/annotation/QLAliasUtils.java
浏览文件 @
33394597
...
...
@@ -57,14 +57,13 @@ public class QLAliasUtils {
if
(
result
==
null
){
fieldsCache
.
put
(
key
,
void
.
class
);
}
else
{
((
Field
)
result
).
setAccessible
(
true
);
fieldsCache
.
put
(
key
,
result
);
}
}
else
if
(
result
==
void
.
class
){
result
=
null
;
}
return
(
Field
)
result
;
}
}
public
static
Field
findQLAliasFields
(
Class
baseClass
,
String
propertyName
)
{
...
...
src/test/java/com/ql/util/express/annotation/
Annotation
Test.java
→
src/test/java/com/ql/util/express/annotation/
QLAlias
Test.java
浏览文件 @
33394597
...
...
@@ -12,7 +12,7 @@ import static org.junit.Assert.assertTrue;
* @author tianqiao@come-future.com
* 2021-11-15 5:51 下午
*/
public
class
Annotation
Test
{
public
class
QLAlias
Test
{
@Test
public
void
testQLAlias
()
throws
Exception
{
...
...
@@ -27,6 +27,8 @@ public class AnnotationTest {
"患者.生日()==患者.生日"
,
"true"
,
//get方法和字段名字一样是不冲突的
"患者.患者姓名 + ' 今年 '+ 患者.获取年龄() +' 岁'"
,
"老王 今年 34 岁"
,
//任意方法的注解
};
//1、测试对象的方法,字段上的别名标签
IExpressContext
<
String
,
Object
>
context
=
new
DefaultContext
<
String
,
Object
>();
Person
person
=
new
Patient
();
person
.
setName
(
"老王"
);
...
...
@@ -39,7 +41,7 @@ public class AnnotationTest {
assertTrue
((
""
+
result
).
equals
(
exps
[
i
+
1
]));
}
//
业务调用也可以通过对象的QLAlias直接来自动产生系统变量
//
2、外部业务调用方也可以利用类、参数的QLAlias注解,自动注入ExpressContext
QLAliasContext
context2
=
new
QLAliasContext
();
context2
.
putAutoParams
(
person
);
//等价于context2.put("患者", person);
for
(
int
i
=
0
;
i
<
exps
.
length
;
i
+=
2
)
{
...
...
src/test/java/com/ql/util/express/bugfix/RecursivelyRunnerTest.java
浏览文件 @
33394597
...
...
@@ -7,6 +7,9 @@ import org.junit.Test;
import
java.lang.reflect.Method
;
/**
* 可重入性单元测试
*/
public
class
RecursivelyRunnerTest
{
static
ExpressRunner
runner
=
new
ExpressRunner
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录