Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
byit-validation-starter
Overview
Overview
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
huangfukexing
byit-validation-starter
Commits
e1743b8c
Commit
e1743b8c
authored
Dec 25, 2019
by
huangfusuper
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修正代码校验方式
parent
85311d4e
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
12 additions
and
162 deletions
+12
-162
CheckerAspect.java
src/main/java/com/byit/aspect/CheckerAspect.java
+4
-17
ValidationAuthConfigure.java
src/main/java/com/byit/config/ValidationAuthConfigure.java
+1
-25
EmailValidationSelector.java
src/main/java/com/byit/selector/EmailValidationSelector.java
+0
-2
NotParamValidationUtil.java
src/main/java/com/byit/utils/NotParamValidationUtil.java
+3
-6
ParamValidationUtil.java
src/main/java/com/byit/utils/ParamValidationUtil.java
+3
-7
SpringUtil.java
src/main/java/com/byit/utils/SpringUtil.java
+0
-62
ValidationUtil.java
src/main/java/com/byit/utils/ValidationUtil.java
+1
-2
AbstractValidation.java
src/main/java/com/byit/validation/AbstractValidation.java
+0
-19
Validation.java
src/main/java/com/byit/validation/Validation.java
+0
-22
No files found.
src/main/java/com/byit/aspect/CheckerAspect.java
View file @
e1743b8c
...
@@ -4,19 +4,14 @@ import com.byit.annotation.MetaAnnotation;
...
@@ -4,19 +4,14 @@ import com.byit.annotation.MetaAnnotation;
import
com.byit.annotation.ParamValidation
;
import
com.byit.annotation.ParamValidation
;
import
com.byit.annotation.annotationselector.NotNull
;
import
com.byit.annotation.annotationselector.NotNull
;
import
com.byit.exception.DataValidationException
;
import
com.byit.exception.DataValidationException
;
import
com.byit.validation.Validation
;
import
com.byit.utils.NotParamValidationUtil
;
import
com.byit.validation.impl.NotParamValidationImpl
;
import
com.byit.utils.ParamValidationUtil
;
import
com.byit.validation.impl.ParamValidationImpl
;
import
org.aspectj.lang.ProceedingJoinPoint
;
import
org.aspectj.lang.ProceedingJoinPoint
;
import
org.aspectj.lang.annotation.Around
;
import
org.aspectj.lang.annotation.Around
;
import
org.aspectj.lang.annotation.Aspect
;
import
org.aspectj.lang.annotation.Aspect
;
import
org.aspectj.lang.reflect.MethodSignature
;
import
org.aspectj.lang.reflect.MethodSignature
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
;
import
org.springframework.context.annotation.Conditional
;
import
org.springframework.stereotype.Component
;
import
java.lang.annotation.Annotation
;
import
java.lang.annotation.Annotation
;
import
java.lang.reflect.Method
;
import
java.lang.reflect.Method
;
...
@@ -28,14 +23,6 @@ import java.lang.reflect.Method;
...
@@ -28,14 +23,6 @@ import java.lang.reflect.Method;
public
class
CheckerAspect
{
public
class
CheckerAspect
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
CheckerAspect
.
class
);
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
CheckerAspect
.
class
);
private
final
Validation
notParamValidation
;
private
final
Validation
paramValidation
;
public
CheckerAspect
(
Validation
notParamValidation
,
Validation
paramValidation
)
{
this
.
notParamValidation
=
notParamValidation
;
this
.
paramValidation
=
paramValidation
;
}
@Around
(
"@annotation(com.byit.annotation.DataValidation)"
)
@Around
(
"@annotation(com.byit.annotation.DataValidation)"
)
public
Object
dataValidation
(
ProceedingJoinPoint
joinPoint
)
throws
Throwable
{
public
Object
dataValidation
(
ProceedingJoinPoint
joinPoint
)
throws
Throwable
{
log
.
info
(
"------------------进入拦截器拦截------------------"
);
log
.
info
(
"------------------进入拦截器拦截------------------"
);
...
@@ -90,7 +77,7 @@ public class CheckerAspect {
...
@@ -90,7 +77,7 @@ public class CheckerAspect {
boolean
isPresenceParamValidationAnnotation
=
annotation
.
annotationType
().
equals
(
ParamValidation
.
class
);
boolean
isPresenceParamValidationAnnotation
=
annotation
.
annotationType
().
equals
(
ParamValidation
.
class
);
if
(
isPresenceParamValidationAnnotation
){
if
(
isPresenceParamValidationAnnotation
){
//ParamValidationImpl paramValidationImpl = new ParamValidationImpl();
//ParamValidationImpl paramValidationImpl = new ParamValidationImpl();
paramValidation
.
isValidation
(
param
);
ParamValidationUtil
.
isValidation
(
param
);
continue
;
continue
;
}
}
...
@@ -99,7 +86,7 @@ public class CheckerAspect {
...
@@ -99,7 +86,7 @@ public class CheckerAspect {
//如果存在
//如果存在
if
(
annotationPresent
){
if
(
annotationPresent
){
//NotParamValidationImpl notParamValidation = new NotParamValidationImpl();
//NotParamValidationImpl notParamValidation = new NotParamValidationImpl();
notParamValidation
.
isValidation
(
annotation
,
param
);
NotParamValidationUtil
.
isValidation
(
annotation
,
param
);
continue
;
continue
;
}
}
}
}
...
...
src/main/java/com/byit/config/ValidationAuthConfigure.java
View file @
e1743b8c
...
@@ -2,10 +2,6 @@ package com.byit.config;
...
@@ -2,10 +2,6 @@ package com.byit.config;
import
com.byit.aspect.CheckerAspect
;
import
com.byit.aspect.CheckerAspect
;
import
com.byit.properties.ValidationProperties
;
import
com.byit.properties.ValidationProperties
;
import
com.byit.utils.SpringUtil
;
import
com.byit.validation.Validation
;
import
com.byit.validation.impl.NotParamValidationImpl
;
import
com.byit.validation.impl.ParamValidationImpl
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
...
@@ -17,23 +13,7 @@ import org.springframework.context.annotation.Configuration;
...
@@ -17,23 +13,7 @@ import org.springframework.context.annotation.Configuration;
@EnableConfigurationProperties
(
ValidationProperties
.
class
)
@EnableConfigurationProperties
(
ValidationProperties
.
class
)
public
class
ValidationAuthConfigure
{
public
class
ValidationAuthConfigure
{
/**
* 无注解 @ParamValidation 配置
* @return 返回NotParamValidationImpl对象
*/
@Bean
public
Validation
getNotParamValidation
(){
return
new
NotParamValidationImpl
();
}
/**
* 有注解 @ParamValidation 配置
* @return
*/
@Bean
public
Validation
getParamValidation
(){
return
new
ParamValidationImpl
();
}
/**
/**
* 注册切面
* 注册切面
...
@@ -41,11 +21,7 @@ public class ValidationAuthConfigure {
...
@@ -41,11 +21,7 @@ public class ValidationAuthConfigure {
*/
*/
@Bean
@Bean
public
CheckerAspect
getCheckerAspect
(){
public
CheckerAspect
getCheckerAspect
(){
return
new
CheckerAspect
(
getNotParamValidation
(),
getParamValidation
()
);
return
new
CheckerAspect
();
}
}
@Bean
public
SpringUtil
springUtil
(){
return
new
SpringUtil
();
}
}
}
src/main/java/com/byit/selector/EmailValidationSelector.java
View file @
e1743b8c
...
@@ -2,9 +2,7 @@ package com.byit.selector;
...
@@ -2,9 +2,7 @@ package com.byit.selector;
import
com.byit.annotation.annotationselector.EmailValidation
;
import
com.byit.annotation.annotationselector.EmailValidation
;
import
com.byit.exception.DataValidationException
;
import
com.byit.exception.DataValidationException
;
import
com.byit.properties.ValidationProperties
;
import
com.byit.selector.interfaces.ValidationSelector
;
import
com.byit.selector.interfaces.ValidationSelector
;
import
com.byit.utils.SpringUtil
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
...
...
src/main/java/com/byit/
validation/impl/NotParamValidationImp
l.java
→
src/main/java/com/byit/
utils/NotParamValidationUti
l.java
View file @
e1743b8c
package
com
.
byit
.
validation
.
impl
;
package
com
.
byit
.
utils
;
import
com.byit.annotation.MetaAnnotation
;
import
com.byit.annotation.MetaAnnotation
;
import
com.byit.exception.DataValidationException
;
import
com.byit.exception.DataValidationException
;
import
com.byit.selector.interfaces.ValidationSelector
;
import
com.byit.selector.interfaces.ValidationSelector
;
import
com.byit.validation.AbstractValidation
;
import
org.springframework.stereotype.Component
;
import
java.lang.annotation.Annotation
;
import
java.lang.annotation.Annotation
;
import
java.lang.reflect.Method
;
import
java.lang.reflect.Method
;
...
@@ -13,7 +11,7 @@ import java.lang.reflect.Method;
...
@@ -13,7 +11,7 @@ import java.lang.reflect.Method;
* 这个是不需要验证内部属性是否需要校验,只需要验证其本身是否通过规定校验的
* 这个是不需要验证内部属性是否需要校验,只需要验证其本身是否通过规定校验的
* @author huangfu
* @author huangfu
*/
*/
public
class
NotParamValidation
Impl
extends
AbstractValidation
{
public
class
NotParamValidation
Util
{
/**
/**
...
@@ -21,8 +19,7 @@ public class NotParamValidationImpl extends AbstractValidation {
...
@@ -21,8 +19,7 @@ public class NotParamValidationImpl extends AbstractValidation {
* @param annotation 参数上的注解
* @param annotation 参数上的注解
* @param value
* @param value
*/
*/
@Override
public
static
void
isValidation
(
Annotation
annotation
,
Object
value
){
public
void
isValidation
(
Annotation
annotation
,
Object
value
){
try
{
try
{
//获取此注解上的元注解
//获取此注解上的元注解
MetaAnnotation
metaAnnotation
=
annotation
.
annotationType
().
getAnnotation
(
MetaAnnotation
.
class
);
MetaAnnotation
metaAnnotation
=
annotation
.
annotationType
().
getAnnotation
(
MetaAnnotation
.
class
);
...
...
src/main/java/com/byit/
validation/impl/ParamValidationImp
l.java
→
src/main/java/com/byit/
utils/ParamValidationUti
l.java
View file @
e1743b8c
package
com
.
byit
.
validation
.
impl
;
package
com
.
byit
.
utils
;
import
com.byit.annotation.MetaAnnotation
;
import
com.byit.annotation.MetaAnnotation
;
import
com.byit.exception.DataValidationException
;
import
com.byit.exception.DataValidationException
;
import
com.byit.selector.interfaces.ValidationSelector
;
import
com.byit.selector.interfaces.ValidationSelector
;
import
com.byit.validation.AbstractValidation
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.stereotype.Component
;
import
java.lang.annotation.Annotation
;
import
java.lang.annotation.Annotation
;
import
java.lang.reflect.Field
;
import
java.lang.reflect.Field
;
...
@@ -15,14 +12,13 @@ import java.lang.reflect.Method;
...
@@ -15,14 +12,13 @@ import java.lang.reflect.Method;
* 这个是需要验证其内部属性是否通过校验的实现类
* 这个是需要验证其内部属性是否通过校验的实现类
* @author huangfu
* @author huangfu
*/
*/
public
class
ParamValidation
Impl
extends
AbstractValidation
{
public
class
ParamValidation
Util
{
/**
/**
* 校验实现
* 校验实现
* @param object
* @param object
*/
*/
@Override
public
static
void
isValidation
(
Object
object
){
public
void
isValidation
(
Object
object
){
try
{
try
{
//获取的是方法参数的类的对象
//获取的是方法参数的类的对象
Class
<?>
aClass
=
object
.
getClass
();
Class
<?>
aClass
=
object
.
getClass
();
...
...
src/main/java/com/byit/utils/SpringUtil.java
deleted
100644 → 0
View file @
85311d4e
package
com
.
byit
.
utils
;
import
org.springframework.beans.BeansException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContextAware
;
import
org.springframework.stereotype.Component
;
/**
* Spring工具类
* @author huangfu
*/
public
class
SpringUtil
implements
ApplicationContextAware
{
private
static
ApplicationContext
applicationContext
=
null
;
@Override
public
void
setApplicationContext
(
ApplicationContext
applicationContext
)
throws
BeansException
{
if
(
SpringUtil
.
applicationContext
==
null
)
{
SpringUtil
.
applicationContext
=
applicationContext
;
}
}
/**
* 获取applicationContext
* @return 返回applicationContext
*/
public
static
ApplicationContext
getApplicationContext
()
{
return
applicationContext
;
}
/**
* 通过name获取 Bean.
* @param name
* @return
*/
public
static
Object
getBean
(
String
name
){
return
getApplicationContext
().
getBean
(
name
);
}
/**
* 通过class获取Bean.
* @param clazz
* @param <T>
* @return
*/
public
static
<
T
>
T
getBean
(
Class
<
T
>
clazz
){
return
getApplicationContext
().
getBean
(
clazz
);
}
/**
* 通过name,以及Clazz返回指定的Bean
* @param name
* @param clazz
* @param <T>
* @return
*/
public
static
<
T
>
T
getBean
(
String
name
,
Class
<
T
>
clazz
){
return
getApplicationContext
().
getBean
(
name
,
clazz
);
}
}
src/main/java/com/byit/utils/ValidationUtil.java
View file @
e1743b8c
...
@@ -2,7 +2,6 @@ package com.byit.utils;
...
@@ -2,7 +2,6 @@ package com.byit.utils;
import
com.byit.adaptation.ValidationAdaptation
;
import
com.byit.adaptation.ValidationAdaptation
;
import
com.byit.exception.DataValidationException
;
import
com.byit.exception.DataValidationException
;
import
com.byit.validation.impl.ParamValidationImpl
;
/**
/**
* 规则校验工具类
* 规则校验工具类
...
@@ -114,7 +113,7 @@ public class ValidationUtil {
...
@@ -114,7 +113,7 @@ public class ValidationUtil {
* @param object
* @param object
*/
*/
public
static
void
modelIsAnnotationValidation
(
Object
object
){
public
static
void
modelIsAnnotationValidation
(
Object
object
){
SpringUtil
.
getBean
(
ParamValidationImpl
.
class
)
.
isValidation
(
object
);
ParamValidationUtil
.
isValidation
(
object
);
}
}
/**
/**
...
...
src/main/java/com/byit/validation/AbstractValidation.java
deleted
100644 → 0
View file @
85311d4e
package
com
.
byit
.
validation
;
import
java.lang.annotation.Annotation
;
/**
* 适配器
* @author huangfu
*/
public
class
AbstractValidation
implements
Validation
{
@Override
public
void
isValidation
(
Annotation
annotation
,
Object
object
)
{
}
@Override
public
void
isValidation
(
Object
object
)
{
}
}
src/main/java/com/byit/validation/Validation.java
deleted
100644 → 0
View file @
85311d4e
package
com
.
byit
.
validation
;
import
java.lang.annotation.Annotation
;
/**
* 真正的校验实现
* @author huangfu
*/
public
interface
Validation
{
/**
* 这个是不需要验证内部属性是否需要校验,只需要验证其本身是否通过规定校验的
* @param annotation
* @param object
*/
void
isValidation
(
Annotation
annotation
,
Object
object
);
/**
* 这个是需要验证其内部属性是否通过校验的实现类
* @param object
*/
void
isValidation
(
Object
object
);
}
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