自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(190)
  • 收藏
  • 关注

原创 Grails4 使用LibreOffice + jodconverter 转换Office为PDF文件,实现预览

1、下载LibreOffice,官网地址注意:官网可能下载不了,这里推荐用360下载2、引入组件(jodconverter)compile 'org.jodconverter:jodconverter-local:4.3.0'compile 'org.jodconverter:jodconverter-spring-boot-starter:4.3.0'3、添加配置jodconverter: local: enabled: true o.

2020-11-12 18:08:17 16

原创 Grails4 封装MeiliSearch搜索引擎

1、build.gradle引入repositories { maven { url "https://repo.grails.org/grails/core" } maven { url "https://dl.bintray.com/zhangjiayu139/plugins" }}compile 'middolmeilisearch:middolMeiliSearch:0.1'2、编写MeiliSearchUtils工具类package middol....

2020-11-02 11:18:52 57

原创 设计模式:原型模式适用于在线考试系统(打乱题目和答案)

详细请了解原型模式

2020-10-23 19:40:54 48

原创 Grails4 使用官方逻辑删除插件list和findAll方法不起作用

1.克隆官方插件2.找到LogicalDelete.groovy文件3.增加如下代码: static List<D> list(){ if (IGNORE_DELETED_FILTER.get()) { this.currentGormStaticApi().list() } else { new DetachedCriteria(this).build { eq

2020-10-23 09:50:14 56

原创 Grails4 rest-api 发送html邮件,引用GSP发送

1、build.gradle 引入GSP模板apply plugin:"org.grails.grails-gsp"dependencies { compile "org.grails.plugins:gsp"}2、编写GSP模板3、使用GSP发送html信息4、效果

2020-10-21 14:56:28 24

转载 Grails4 操做 Minio

参考

2020-10-16 18:10:22 22

原创 Grails4 整合swagger3

参考

2020-10-16 13:58:16 13

原创 Grails4 整合HanLP 对文本进行分词、提取关键字

参考官网文档1、build.gradle//hanLP 分词 关键字提取compile 'com.hankcs:hanlp:portable-1.7.8'2、使用HanLP.segment(content)3、效果

2020-10-16 12:00:58 21

原创 Grails4 整合 Tika 提取文件内容

Tika官网1、build.gradle 引入:// Tika 内容提取compile 'org.apache.tika:tika-core:1.24.1'compile 'org.apache.tika:tika-parsers:1.24.1'2、获取文件内容def tika = new Tika()String content = tika.parseToString(new File("E:/test/副本信息化指数汇总表需求字段_BDP_20200515_v1.1(1).x

2020-10-16 11:57:47 26

原创 Grails4 java.lang.ClassNotFoundException 解决方案

最近在应用包的时候总是报ClassNotFoundException,如下:"D:\Program Files\Java\jdk1.8.0_231\bin\java.exe" -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:CICompilerCount=3 -Djline.WindowsTerminal.directConsole=false -Dfile.encoding=UTF-8 -classpath C:\Users\zhang\AppD

2020-10-16 09:56:52 23

原创 Gradle/Grails 排查依赖冲突

参考build.gradle增加如下代码:configurations.all() { Configuration configuration -> //当遇到版本冲突时直接构建失败 configuration.resolutionStrategy.failOnVersionConflict()}效果:解决办法:configurations.all() { Configuration configurati

2020-10-15 20:28:47 33

原创 Grails 自动生成数据字典 markdown文件

2020-10-12 18:31:08 27

原创 Grails4 使用Audit-Logging Stampable 出现报错:HHH000142: Bytecode enhancement failed

详细报错:Hibernate: select this_.role_id as role_id1_6_0_, this_.user_id as user_id2_6_0_ from middol_auth_UserRole this_ where this_.user_id=?2020-10-11 10:20:10.951 ERROR --- [nio-9999-exec-4] o.h.p.p.bytebuddy.ByteBuddyProxyFactory : HHH000142: Bytecod

2020-10-11 10:20:59 22

原创 html5 LivePlayer 实时播放rtmp

LivePlayer 文档Videojs 随着播放时间越来越长,延迟越来越长,达不到绝对的实时,LivePlayer极速模式可以保持延迟在1-2s左右

2020-10-10 09:28:49 100

原创 mysql 存储过程 存储打印变量

DELIMITER $$CREATE DEFINER=`root`@`%` PROCEDURE `updateSql`()BEGIN -- 定义循环条件 DECLARE flag INT DEFAULT 0; -- 保存表名 DECLARE tname VARCHAR(50); -- 查询数据库test中含有userId列的表,如果区分大小写使用binary COLUMN_NAME = 'userId' DECLARE result CURSOR FOR SELECT distinct .

2020-09-29 15:44:28 153

原创 Mysql 存储过程 批量更新表中存在某个字段的数据,先备份,再更新

DELIMITER $$CREATE DEFINER=`root`@`%` PROCEDURE `update_factoryName`()BEGIN -- 定义循环条件 DECLARE flag INT DEFAULT 0; -- 保存表名 DECLARE tname VARCHAR(50); -- 查询数据库test中含有userId列的表,如果区分大小写使用binary COLUMN_NAME = 'userId' DECLARE result CURSOR FOR SELECT .

2020-09-29 15:42:58 34

原创 Grails 阿里云镜像地址

"https://maven.aliyun.com/repository/grails-core"

2020-09-27 12:18:50 43

原创 Grails4.0.4 使用@Service注解报错 No service found for type interface middol.sys.OrgService

官网issue详细报错如下:"D:\Program Files\Java\jdk1.8.0_231\bin\java.exe" -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:CICompilerCount=3 -Djline.WindowsTerminal.directConsole=false -Dfile.encoding=UTF-8 -classpath C:\Users\zhang\AppData\Local\Temp\classp.

2020-09-21 14:03:47 51

原创 Grails service中获取request/response/session/servletContext

def getRequest(){ def webUtils = WebUtils.retrieveGrailsWebRequest() webUtils.getCurrentRequest()}//Getting the Response objectdef getResponse(){ def webUtils = WebUtils.retrieveGrailsWebRequest() webUtils.getCurrentResponse()}//Getti.

2020-09-11 17:47:46 21

原创 Grails 增加@CompileStatic 和@GrailsCompileStatic报错

报错现象:解决办法package middol.testimport grails.compiler.GrailsCompileStaticimport grails.gorm.PagedResultListimport grails.rest.*import grails.converters.*import groovy.transform.CompileStaticimport org.hibernate.criterion.Restrictionsimport org.

2020-09-11 16:29:16 55

原创 Grails rest-api 多语言

1、设置默认中文beans{ //多语言设置默认中文 localeResolver(SessionLocaleResolver) { defaultLocale= new java.util.Locale('zh_CN') }}2、中英文切换方案方法一:请求头中增加Accept-Language属性如:英文中文:方法二:请求增加后缀 lang=en,如:http://localhost:9999/api/demo/test?la

2020-09-11 14:13:42 39

原创 win10 关闭 windows defender antivirus service 服务

参考

2020-09-10 18:39:32 417

原创 Grails Domain默认将Null转换为空字符串,自定义domain数据转换

// 是否将空字符串转成nullgrails.databinding.convertEmptyStringsToNull = false//是否剔除字符串两边的空格grails.databinding.trimStrings = false自定义转换大小写1、目录2、MiddolFormattedStringValueConverter.groovypackage middol.domainimport grails.databinding.converters.For..

2020-09-10 11:50:53 36

原创 查询配置文件的绝对路径

String ds_user_pro = Thread.currentThread().getContextClassLoader().getResource("solr/ds_user_pro.keytab").getPath()String krb5 = Thread.currentThread().getContextClassLoader().getResource("solr/krb5.conf").getPath()结果:

2020-09-09 13:13:36 43

原创 Grails 统一返回格式

文件目录结构Result.groovypackage middol.result/*** @Description: 输出结果对象* @Author: zhangjiayu@middol.com* @CreateDate: 2020/3/19 10:55* @Version: 1.0*/class Result implements Serializable{ private static final long serialV.

2020-09-02 09:18:40 70

原创 Grails 修改密码原密码校验

!springSecurityService.passwordEncoder.isPasswordValid(springSecurityService?.currentUser?.password, params.oldpassword, null)

2020-09-01 15:29:32 33

原创 Grails gorm-tools 批量操作性能优化(GparsAsyncSupport)

参考

2020-08-25 11:52:33 45

原创 Grails4 Spring Security rest plugin 自定义登录(增加验证码校验)

1、重写 RestAuthenticationFilterpackage middol.authimport grails.converters.JSONimport grails.plugin.springsecurity.rest.SpringSecurityRestFilterRequestMatcherimport grails.plugin.springsecurity.rest.authentication.RestAuthenticationEventPublisherimpo

2020-08-19 17:21:33 93

原创 Groovy AST转换注解

参考

2020-08-18 09:52:09 47

原创 Collections.synchronizedMap 线程安全

参考

2020-08-17 17:04:24 40

原创 hashcode 和 System.identityHashCode

参考

2020-08-17 17:00:04 28

原创 Grails4 开发(dev)、测试(test)、生产(prod) 环境配置快速切换

1、application.yml---grails: profile: rest-api cors: enabled: true codegen: defaultPackage: qmsv2 databinding: dateFormats: - 'dd/MM/yyyy' - 'dd/MM/yyyy HH:mm:ss' - 'yyyy-MM-dd.

2020-08-12 17:58:45 56

原创 Grails domain Id 无生产策略,手动生成id

class Menu { String id; String name;}static constraints = { // id bindable : true name nullable:true}static mapping = { // id column:'MENU_ID' , generator:'assigned' name column:'MENU_NAME'}

2020-08-06 08:26:27 38

原创 Grails 在src下获取请求地址

GrailsWebRequest request = GrailsWebRequest.lookup()request?.request?.requestURI

2020-08-05 12:54:04 42

原创 Grails4 多种登录方式(用户名、邮箱、手机号码)

1、自定义 MiddolCustomUserDetailsService 并实现 GrailsUserDetailsServicepackage middol.authimport grails.core.GrailsApplicationimport grails.gorm.transactions.Transactionalimport grails.plugin.springsecurity.SpringSecurityUtilsimport grails.plugin.springs

2020-08-05 10:39:48 88

原创 Grails4 自定义二级缓存(使用Jedis插件),重写RegionFactoryTemplate

参考hibernate二级缓存实现创建rest-api-plugin插件,目录结构1、实现 RegionFactoryTemplate 类package middolhibernaterediscacheimport grails.plugins.redis.RedisServiceimport grails.util.Holdersimport groovy.transform.CompileStaticimport groovy.util.logging.Slf4ji.

2020-08-03 11:18:55 187

原创 Grails 使用redisson做二级缓存

参考目录结构Build.gradle 添加依赖compile group: 'org.redisson', name: 'redisson-hibernate-53', version: '3.13.2'redisson.yaml# 配置参见 https://github.com/redisson/redisson/wiki/2.-%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95# 单节点设置,其余模式待测试singleServerConfig:

2020-07-28 08:42:12 81

转载 Java office转PDF的N种方法

参考

2020-07-23 11:42:58 39

原创 Grails GrailsApplication使用

grails-app下1、获取所有的domainclassGrailsApplication grailsApplication//获取配置信息grailsApplication.config.getProperty('foo.bar.hello')grailsApplication.config.database.driver//获取应用版本信息grailsApplication.metadata.getApplicationVersion()//获取grails版本信息grail

2020-07-22 20:07:55 88

原创 Grails 实体类中使用枚举类型(Enum)

package middol.sysimport grails.compiler.GrailsCompileStaticimport middol.enums.FlowStatus@GrailsCompileStaticclass Airport implements Serializable{ private static final long serialVersionUID = 1 String name FlowStatus flowStatus st.

2020-07-22 10:59:54 66

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除