Flag
大家好,我是Flag。我老大往我身上刻字,╥﹏╥我老大说:最近养成了两个好习惯:记账 & 写笔记 记账目前还没看到明显效果,但我知道坚持下去对于了解自己,规划未来,会有很大帮助,也是一件提升幸福感的事情。这是我一定要坚持下去的事。 还有就是写小笔记,之前一直想写一些东西把平时遇到的积累起来,但没养成好习惯,胡乱丢进记事本,再后来,就慢慢遗忘找不到了。虽然都不是什么大智慧,不像大佬们能刨根问底,拓展创新。但也不乏踩过的坑,新走的路 用hexo搭了个博客后,写东西的热情来了,给了小笔记们一个温暖的家。同样也可以提升幸福感,快乐的同时,武装自己。 希望能坚持下去,写完Drools后,准备写写Quartz,容器Tomcat、Jetty、Weblogic。再忙每周也要至少产出一片笔记,Gogogo 最后推荐一个记账App: 鲨鱼记账 更多好玩好看的内容,欢迎到我的博客交流,共同进步 胡萝卜啵的博客
Drools规则引擎 系列教程(二)Drools规则语法 & LHS 条件
Drools规则引擎 系列教程(一)SpringBoot整合 & 快速集成上手Drools规则引擎 系列教程(一)SpringBoot整合 & 快速集成上手
Drools规则引擎 系列教程(三)Drools规则语法 & RHS动作 & header详解
Drools规则引擎 系列教程(四)Drools 主要API & 决策表
教程代码已提交到ytooo-drools,欢迎star
文中代码方法均基于上一篇教程
1. .drl文件结构
package 包充当每组规则的唯一名称空间。一个规则库可以包含多个程序包。通常,将包的所有规则与包声明存储在同一文件中,以便包是独立的。但是,也可以在规则中使用从其他的包中导入的对象
imports 与Java中的import语句类似,用来标识在规则中使用的任何对象的标准路径和类型名称
factions 函数代码块如:123function String hello(String applicantName) { return "Hello " + applicantName + "!";}
queries ...
Drools规则引擎 系列教程(一)SpringBoot整合 & 快速集成上手
Drools规则引擎 系列教程(一)SpringBoot整合 & 快速集成上手Drools规则引擎 系列教程(二)Drools规则语法 & LHS 条件
Drools规则引擎 系列教程(三)Drools规则语法 & RHS动作 & header详解
Drools规则引擎 系列教程(四)Drools 主要API & 决策表
教程代码已提交到ytooo-drools,欢迎star
1. Drools简介什么是规则引擎 规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。
简单来说包括像表单验证和动态表达式引擎这样的简单系统都可以称之为规则引擎。
为什么使用规则引擎? 复杂企业级项目的开发以及其中随外部条件不断变化的业务规则(business logic),迫切需要分离商业决策者的商业决策逻辑和应用开发者的技术决策,并把这些商业决策放在中心数据库或其他统一的地方,让它们能在运行时(即商务时间)可以动态地管理 ...
weblogic下包冲突 导致@Valid失效 不能正确校验表单 分析与解决
weblogic下包冲突 导致@Valid失效 不能正确校验表单 分析与解决问题描述:
项目本地开发下使用 tomcat || jetty 启动,使用 validation-api + hibernate-validator在对入参进行注解方式校验时,全部注解可以准确拦截异常参数
在 weblogic 12c下 相同项目 @Notblank注解 失效,不能正确拦截空串入参
解决过程:
更新 最新版本 validation-api + hibernate-validator 无效果
更换启动类注解 @valid 无效果
配置项目 weblogic配置文件 weblogic.xml12345<prefer-application-packages> .................... <package-name>org.hibernate.*</package-name> < ...
SpringBoot中使用@Valid 做入参表单校验 以及常见校验规则
SpringBoot中使用@Valid 做入参表单校验 以及常见校验规则在日常接口开发中,常常遇到对入参表单进行校验的情况,@Valid注解可以使用注解的方式,结合多种规则以及自定义正则,从而实现表单数据的验证,极大的简化了后端程序的代码量以及复杂度,给开发人员带来极大的方便
1.在pom.xml中引入 hibernate-validator12345678910<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>6.0.13.Final</version></dependency><dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> ...
SpringBoot连接池防泄漏配置
SpringBoot连接池防泄漏配置缘由一个跑很久的业务,跑到后面报了连接异常
1connection holder is null
解决连接池为了防止程序从池里取得连接后忘记归还的情况, 而提供了一些参数来设置一个租期, 使用这个可以在一定程度上防止连接泄漏
12spring.datasource.removeAbandoned = truespring.datasource.removeAbandonedTimeout = 36000
更多好玩好看的内容,欢迎到我的博客交流,共同进步 胡萝卜啵的博客
SpringBoot中static方法中使用Autowired
SpringBoot中static方法中使用Autowired有时候我们需要在static公共方法中使用@Autowired,
解决方案:
使用 applicationContext.getBean(BaseBizClient.class)的方法
获取Util的instance,单例模式
1234567//线程安全 懒汉单例 public static synchronized DealerGetUtil getInstance() { if (null == instance) { instance = new DealerGetUtil(); } return instance; }
获取 applicationContext
123456@Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException { if (DealerGetUtil.applicationContex ...
Springboot全局异常处理@ExceptionHandler
Springboot全局异常处理@ExceptionHandler给springboot加上统一的全局异常处理,按层次类型,来返回给前端特定信息
12345678910111213141516171819202122232425262728package com.adc.da.main.advice;/** * AdcDaBaseExceptionAdvice */@ControllerAdvice@Order(value = 6)public class AdcDaBaseExceptionAdvice { /** * 日志 */ private static final Logger logger = LoggerFactory.getLogger(AdcDaBaseExceptionAdvice.class); /** * handlerAdcDaBaseException * @param exception * @return */ @ResponseStatus(HttpStatus.OK) @E ...