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

网站建设的三个步骤是什么广东省新闻

网站建设的三个步骤是什么,广东省新闻,列举五种网络营销模式,360网站怎么做AspectJ切面自定义注解实现参数分组校验——代码实现#xff08;3#xff09;一、环境1-1.备注二、代码实现2-1.注解定义2-2.组定义2-3.constraints使用2-4.切面定义2-5.复用ValidatorFactory2-6.单测校验2-7.说明一、环境 springbootmaven dependencygroupId3一、环境1-1.备注二、代码实现2-1.注解定义2-2.组定义2-3.constraints使用2-4.切面定义2-5.复用ValidatorFactory2-6.单测校验2-7.说明一、环境 springbootmaven dependencygroupIdjavax.validation/groupIdartifactIdvalidation-api/artifactIdversion2.0.1.Final/version /dependencydependencygroupIdorg.aspectj/groupIdartifactIdaspectjweaver/artifactIdversion1.9.5/version /dependency1-1.备注 相关基础概念查看我的另外两篇博客 AspectJ切面自定义注解实现参数分组校验——基础概念1 https://blog.csdn.net/weixin_36894490/article/details/125605142?spm1001.2014.3001.5501 AspectJ切面自定义注解实现参数分组校验——基础概念2 https://blog.csdn.net/weixin_36894490/article/details/125610487?spm1001.2014.3001.5501 二、代码实现 2-1.注解定义 /*** author ZhangLiFang* date 2022/7/1 10:01 PM* Desc*/ Retention(RetentionPolicy.RUNTIME) Target(ElementType.METHOD) public interface ValidGroupParam {Class?[] value() default Default.class; }2-2.组定义 /*** author ZhangLiFang* date 2022/7/1 11:41 PM* Desc ValidGroupParam校验的参数组*/ public interface InboundOrderGroup {/*** 加款*/interface Inbound extends Default {}/*** 调额*/interface AdjustInCome extends Default {}}2-3.constraints使用 /*** author ZhangLiFang* date 2022/7/1 5:24 PM* Desc*/Builder AllArgsConstructor NoArgsConstructor Data public class InboundMidRequest implements Serializable {private static final long serialVersionUID 8666517965899046452L;/*** 金额 默认组校验*/NotNull(message 金额不能为空)private BigDecimal amount;/*** 币种 对于加款组需要做校验*/NotBlank(groups InboundOrderGroup.Inbound.class, message币种不能为空)private String currency;/*** 平台 对于调额组需要做校验*/NotBlank(groups InboundOrderGroup.AdjustInCome.class, message平台不能为空)private String platform; }2-4.切面定义 /*** author ZhangLiFang* date 2022/7/1 10:13 PM* Desc*/ Aspect Component public class ValidGroupParamAspect {Resourceprivate ValidatorFactory factory;Pointcut(annotation(validGroupParam))public void callAt(ValidGroupParam validGroupParam) {}Around(value callAt(validGroupParam), argNames pjp,validGroupParam)public Object around(Valid ProceedingJoinPoint pjp, ValidGroupParam validGroupParam) throws Throwable {Validator validator factory.getValidator();for (Object o : pjp.getArgs()) {SetConstraintViolationObject violations validator.validate(o, validGroupParam.value());for (ConstraintViolationObject violation : violations) {String errorMsg violation.getMessage();throw new BizException(ErrorCode.PARAM_ERROR, errorMsg);}}return pjp.proceed();}}2-5.复用ValidatorFactory /*** author ZhangLiFang* date 2022/7/4 5:22 PM* Desc*/ Component public class ValidatorTemplateFactory {Beanpublic ValidatorFactory validatorFactory(){return Validation.buildDefaultValidatorFactory();}}2-6.单测校验 针对加款组调用接口 Slf4j Service public class AnnotationTestService {ValidGroupParam(InboundOrderGroup.Inbound.class)public void testAnnotation(InboundMidRequest inboundMidRequest){log.info(okkkk);} }单测1缺少默认组参数执行结果金额不能为空 Testpublic void test_Annotation_ValidGroupParam_without_default_arg(){InboundMidRequest build InboundMidRequest.builder().amount(null).currency(CNY).platform(平台).build();annotationTestService.testAnnotation(build);}单测2缺少调额组的参数执行结果okkkk Test public void test_Annotation_ValidGroupParam_without_other_group_arg(){InboundMidRequest build InboundMidRequest.builder().amount(new BigDecimal(100)).currency(CNY).platform().build();annotationTestService.testAnnotation(build); }单测3缺少加款组的参数执行结果币种不能为空 Testpublic void test_Annotation_ValidGroupParam_without_own_group_arg(){InboundMidRequest build InboundMidRequest.builder().amount(new BigDecimal(100)).currency().platform(平台).build();annotationTestService.testAnnotation(build);}单测结果表明分组成功ValidGroupParam(InboundOrderGroup.Inbound.class)即可实现分组校验。 2-7.说明 ValidGroupParam注解支持可多个组参数校验同时也支持对方法的多个Object参数的constraints进行校验。即 ValidGroupParam({InboundOrderGroup.Inbound.class, InboundOrderGroup.Inbound2.class}) public void testAnnotation(InboundMidRequest1 inboundMidRequest1, InboundMidRequest2 inboundMidRequest2){log.info(okkkk,too); }注意以最先匹配到不符合的参数条件的一条message进行抛出异常告警。
http://www.yutouwan.com/news/362376/

相关文章:

  • 西安做网站陕西必达网站哪个公司做的比较好
  • 对于网站链接优化有哪些建议公司网站实名认证
  • 池州网站开发枣庄手机网站建设公司
  • 上海好的网站有哪些网站建设类岗位有哪些
  • 电子商务做网站设计北京网站设计公司wyhseo
  • 网站网页设计怎么报价开展建设文明网站活动方案
  • 网站建设实验分析怎么做百度网站验证码
  • 做微网站的第三方登录界面东莞网站设计方案
  • 游戏加盟招商手机网站关键词优化
  • 开发网站备案域名指向一个网站
  • 化州 网站建设如何办网站 论坛
  • 做视频网站 视频放在哪里找西安seo全网营销
  • 怎么申请免费国内免费网站邢台做网站优化费用
  • 网站建设和wordpress登录下载附件
  • 建站哪家公司比较好而且不贵做平面设计图的网站
  • 购物网站制作公司外发加工网官网
  • 做网站贵吗自己的电脑做网站
  • 2000做网站贵么仿卢松松博客wordpress
  • 企业网站制作素材微信网站制作方案
  • 用什么程序做网站最好优化微商如何引流与推广
  • 电子商务网站开发公司野望是什么意思
  • 网站用社交图标做链接侵权吗自己想建设一个网站
  • 国外 设计 网站做笑话网站赚钱
  • 森动网网站建设好吗2345浏览器网站进入
  • 建设银行信用卡网站是哪个好佛山网站建设排名
  • 2021能看的网站不要app贴吧邹平建设局官方网站
  • 威海市城乡建设局网站怎么导出wordpress 整个网站
  • 网站开发与优化课程总结深圳建设一个网站制作公司
  • 长春网上建设网站网站上添加子栏目
  • 腾讯云服务器怎么做网站怎么做提卡网站