Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
L
ldp-docs
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
doc
ldp-docs
Commits
cad60825
Commit
cad60825
authored
Sep 17, 2020
by
马超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 1.1.6 changelog
parent
26c04ea0
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
60 additions
and
6 deletions
+60
-6
LDP框架ChangeLog&升级方式.md
LDP框架ChangeLog&升级方式.md
+20
-0
LDP 框架自定义注解.md
开发文档/LDP 框架自定义注解.md
+40
-6
No files found.
LDP框架ChangeLog&升级方式.md
View file @
cad60825
# LDP框架ChangeLog&升级方式
# LDP框架ChangeLog&升级方式
## 2020-09-17
版本号:
**1.1.6**
### 更新内容
为了解决开发环境jar包不断变更引起的各种版本不一致问题,修改所有工程发版方式,以后每次发版将相关jar包
`deploy`
成
`release`
的包,例如,本次发版的base-api依赖方式为:
```
xml
<dependency>
<groupId>
com.sinra.ldp
</groupId>
<artifactId>
base-api
</artifactId>
<version>
1.1.6
</version>
</dependency>
```
项目开发时尽量引用正式版本的jar包,这样开发环境的任何修改都不会导致版本不一致。如果需要新功能,只需要修改到对应的版本号即可。
## 2020-09-10
## 2020-09-10
版本号:
**1.0.67-hotfix**
版本号:
**1.0.67-hotfix**
...
...
开发文档/LDP 框架自定义注解.md
View file @
cad60825
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
#### 1.1.1 注解介绍
#### 1.1.1 注解介绍
**@AutoComputed**
是一个字段注解,标识
**实体类**
字段为自动填充的注解,需要配合服务层的
**@AutoService**
使用,拥有
两个属性,一个是command、一个是ref
。注解可以通过command标识字段自动装配的方式,根据字段名查找对应计算方法,或根据command类型查找对应系统计算方法。command默认值为
**ComputedCommand.AUTO**
,以下是内置command每个值的解释:
**@AutoComputed**
是一个字段注解,标识
**实体类**
字段为自动填充的注解,需要配合服务层的
**@AutoService**
使用,拥有
四个属性,command、ref、refs、format
。注解可以通过command标识字段自动装配的方式,根据字段名查找对应计算方法,或根据command类型查找对应系统计算方法。command默认值为
**ComputedCommand.AUTO**
,以下是内置command每个值的解释:
**AUTO**
:根据字段名进行填充。
**AUTO**
:根据字段名进行填充。
...
@@ -24,6 +24,10 @@
...
@@ -24,6 +24,10 @@
**PINYIN**
:将ref字段的拼音填充到此字段中
**PINYIN**
:将ref字段的拼音填充到此字段中
**REFERENCE**
:将refs字段的值通过format规则填充到此字段
#### 1.1.2 使用案例
#### 1.1.2 使用案例
```
java
```
java
...
@@ -50,13 +54,17 @@ private String uuId;
...
@@ -50,13 +54,17 @@ private String uuId;
// 值为PINYIN,ref为userName,将userName字段的中文拼音自动填充到字段中
// 值为PINYIN,ref为userName,将userName字段的中文拼音自动填充到字段中
@AutoComputed
(
command
=
ComputedCommand
.
PINYIN
,
ref
=
"userName"
)
@AutoComputed
(
command
=
ComputedCommand
.
PINYIN
,
ref
=
"userName"
)
private
String
sortName
;
private
String
sortName
;
// 值为REFERENCE,refs是一个数组, 将数组中的字段值按照format的规则填充到字段中
@AutoComputed
(
command
=
ComputedCommand
.
REFERENCE
,
refs
=
{
"name"
,
"age"
,
"gender"
},
format
=
"%s-%s-%s"
)
private
String
referenceValue
;
```
```
#### 1.1.3 自定义填充算法
#### 1.1.3 自定义填充算法
当command值为
**ComputedCommand.AUTO**
时,会通过字段名查找计算方式,这里介绍一下如何自定义填充算法。自动填充算法分为
两
种:
当command值为
**ComputedCommand.AUTO**
时,会通过字段名查找计算方式,这里介绍一下如何自定义填充算法。自动填充算法分为
三
种:
-
一种是有参算法,例如MD5算法需要使用到原字段中的值作为参数:
-
第
一种是有参算法,例如MD5算法需要使用到原字段中的值作为参数:
```
java
```
java
// 值为MD5,将原本的明文做一次md5加密并重新赋值到字段中
// 值为MD5,将原本的明文做一次md5加密并重新赋值到字段中
...
@@ -64,7 +72,7 @@ private String sortName;
...
@@ -64,7 +72,7 @@ private String sortName;
private
String
userPassword
;
private
String
userPassword
;
```
```
有参算法,
需要实现
**ComputerArgs**
接口,将自动填充算法写到computed中。例如Md5填充算法代码如下:
需要实现
**ComputerArgs**
接口,将自动填充算法写到computed中。例如Md5填充算法代码如下:
```
java
```
java
public
class
ComputerMd5
implements
ComputerArgs
{
public
class
ComputerMd5
implements
ComputerArgs
{
...
@@ -76,7 +84,33 @@ public class ComputerMd5 implements ComputerArgs {
...
@@ -76,7 +84,33 @@ public class ComputerMd5 implements ComputerArgs {
}
}
```
```
-
一种是无参算法,例如DATETIME算法就是一个无参算法,只需要获取当前时间:
-
第二种也是有参算法,主要是为了按照format进行自动填充,例如:
```
java
// 值为REFERENCE,refs是一个数组, 将数组中的字段值按照format的规则填充到字段中
@AutoComputed
(
command
=
ComputedCommand
.
REFERENCE
,
refs
=
{
"name"
,
"age"
,
"gender"
},
format
=
"%s-%s-%s"
)
private
String
referenceValue
;
```
需要实现
**ComputerFormatArgs**
接口,将自动填充算法写到computed中。例如REFERENCE填充算法如下:
```
java
public
class
ComputerReference
implements
ComputerFormatArgs
{
@Override
public
String
computed
(
Object
target
,
String
format
)
{
String
result
=
""
;
//核心代码如下,如果format为空则默认以下划线拼接,否则按fromat格式化
if
(
StringUtils
.
isEmpty
(
format
))
{
result
=
StringUtils
.
joinWith
(
"_"
,
objects
);
}
else
{
result
=
String
.
format
(
format
,
objects
);
}
return
result
;
}
}
```
-
第三种是无参算法,例如DATETIME算法就是一个无参算法,只需要获取当前时间:
```
java
```
java
// 值为DATETIME,将当前时间填充到字段中
// 值为DATETIME,将当前时间填充到字段中
...
@@ -97,7 +131,7 @@ public class ComputerDate implements ComputerNoArgs<Date> {
...
@@ -97,7 +131,7 @@ public class ComputerDate implements ComputerNoArgs<Date> {
-
完成算法编写后,还需要将计算类与字段名对应起来。
-
完成算法编写后,还需要将计算类与字段名对应起来。
在service包中新建computed包(推荐),新建一个类,加上
**@Configuration**
注解,在
**@Bean**
注解中的name属性填上字段名。例如字段createId的填充算法是一个无参算法,方法返回类型为
**ComputerNoArgs**
,如果为有参算法,则应该返回
**ComputerArgs**
。
在service包中新建computed包(推荐),新建一个类,加上
**@Configuration**
注解,在
**@Bean**
注解中的name属性填上字段名。例如字段createId的填充算法是一个无参算法,方法返回类型为
**ComputerNoArgs**
,如果为有参算法,则应该返回
**ComputerArgs**
或者
**ComputerFormatArgs**
。
```
java
```
java
@Configuration
@Configuration
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment