groovy
斗战圣佛91
这个作者很懒,什么都没留下…
展开
-
Groovy 一行代码下载文件到本地
new File(name) << new URL(url).openStream()原创 2022-01-18 15:08:45 · 842 阅读 · 0 评论 -
Grails 自定义排序(order)
Dropdown.withCriteria { 'in'('state', ['General','CA']) projections { property('state') property('dropDownNames') property('sectionName') property('prefix') property('displayOrder') sqlProj.原创 2021-12-17 13:47:04 · 273 阅读 · 0 评论 -
Grails4.0.9 跨域解决办法
grails: cors: enabled: true allowCredentials: true原创 2021-04-21 18:01:04 · 232 阅读 · 0 评论 -
Grails3.3.9 升级Grails4.0.9 登录不了,后台不报错(There is no PasswordEncoder mapped for the id “null“)
提示There is no PasswordEncoder mapped for the id "null"security plugin 提示解决办法,更新用户表中的密码,增加前缀:{bcrypt}update t_system_user set password = concat('{bcrypt}', password)原创 2021-03-14 21:20:45 · 174 阅读 · 0 评论 -
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 · 330 阅读 · 0 评论 -
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 · 443 阅读 · 0 评论 -
设计模式:原型模式适用于在线考试系统(打乱题目和答案)
详细请了解原型模式原创 2020-10-23 19:40:54 · 830 阅读 · 1 评论 -
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 · 250 阅读 · 0 评论 -
Grails4 操做 Minio
参考转载 2020-10-16 18:10:22 · 135 阅读 · 0 评论 -
Grails4 整合swagger3
参考原创 2020-10-16 13:58:16 · 186 阅读 · 0 评论 -
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 · 154 阅读 · 0 评论 -
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 · 258 阅读 · 0 评论 -
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 · 359 阅读 · 0 评论 -
Gradle/Grails 排查依赖冲突
参考build.gradle增加如下代码:configurations.all() { Configuration configuration -> //当遇到版本冲突时直接构建失败 configuration.resolutionStrategy.failOnVersionConflict()}效果:解决办法:configurations.all() { Configuration configurati原创 2020-10-15 20:28:47 · 712 阅读 · 2 评论 -
Grails 自动生成数据字典 markdown文件
、原创 2020-10-12 18:31:08 · 227 阅读 · 0 评论 -
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 · 662 阅读 · 0 评论 -
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 · 437 阅读 · 0 评论 -
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 · 212 阅读 · 0 评论 -
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 · 385 阅读 · 0 评论 -
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 · 245 阅读 · 0 评论 -
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 · 294 阅读 · 0 评论 -
查询配置文件的绝对路径
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 · 369 阅读 · 0 评论 -
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 · 267 阅读 · 0 评论 -
Grails 修改密码原密码校验
!springSecurityService.passwordEncoder.isPasswordValid(springSecurityService?.currentUser?.password, params.oldpassword, null)原创 2020-09-01 15:29:32 · 222 阅读 · 0 评论 -
Grails gorm-tools 批量操作性能优化(GparsAsyncSupport)
参考原创 2020-08-25 11:52:33 · 444 阅读 · 0 评论 -
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 · 386 阅读 · 0 评论 -
Groovy AST转换注解
参考原创 2020-08-18 09:52:09 · 339 阅读 · 0 评论 -
Grails 在src下获取请求地址
GrailsWebRequest request = GrailsWebRequest.lookup()request?.request?.requestURI原创 2020-08-05 12:54:04 · 189 阅读 · 0 评论 -
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 · 528 阅读 · 0 评论 -
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 · 576 阅读 · 2 评论 -
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 · 666 阅读 · 0 评论 -
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 · 205 阅读 · 0 评论 -
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 · 305 阅读 · 0 评论 -
Grails Security Rest plugin 统一返回格式
登录成功(api/login),增加登录日志package middol.authimport grails.converters.JSONimport grails.plugin.springsecurity.rest.token.AccessTokenimport grails.plugin.springsecurity.rest.token.rendering.AccessTokenJsonRendererimport grails.plugin.springsecurity.user原创 2020-07-22 00:15:09 · 272 阅读 · 1 评论 -
AES 256 加密解密
package middol.utilsimport groovy.util.logging.Slf4jimport org.apache.commons.codec.binary.Base64import org.springframework.beans.factory.annotation.Valueimport javax.crypto.*import javax.crypto.spec.SecretKeySpec/*** @Description: AES 加密解密工具.原创 2020-07-17 09:48:14 · 2547 阅读 · 0 评论 -
Groovy 字符串操作
def str = "zhangjiayu"//截取前四位字符println str.take( 4)//首字母小写println str.uncapitalize()//首字符大写println str.capitalize()//判断是否存在jia字符串println str.contains("jia")//获取字符出现了几次println str.count("a")//删除头两位字符println str.drop(2)//替换字符串println str.coll.原创 2020-07-05 15:32:18 · 2743 阅读 · 0 评论 -
Java8 LocalDateTime(yyyy-MM-dd HH:mi:ss.SSS), LocalDate(yyyy-MM-dd), LocalTime(HH:mi:ss.SSS)
参考import java.time.*import java.time.temporal.*LocalDateTime datetime = LocalDateTime.now()println "当前年月日时分秒毫秒:"+datetimeprintln "年增加:"+datetime.plusYears(2L)println "月增加:"+datetime.plusMonths(2L)println "日增加:"+datetime.plusDays(2L)println "时增加:"原创 2020-07-02 10:00:10 · 1606 阅读 · 0 评论 -
Grails 实体类及列名添加备注信息,并设置superClass超类
package middol.demoimport gorm.logical.delete.LogicalDeleteimport grails.plugins.orm.auditable.Auditableimport grails.plugins.orm.auditable.Stampableimport grails.rest.*import middol.global.SubClassRestfulController@Resource(uri = '/book', formats.原创 2020-05-27 09:45:49 · 337 阅读 · 0 评论 -
Groovy 字符串转日期,日期加减
2、日期加减操作import static java.util.Calendar.YEARimport static java.util.Calendar.MONTHimport static java.util.Calendar.DATEdef date = new Date()println date[YEAR]println date[MONTH]println date[DATE]println date.updated(year: date[YEAR], month:..原创 2020-05-08 10:59:14 · 9411 阅读 · 0 评论 -
Grails4 后台管理模板(adminlte)
地址效果图:原创 2020-04-23 12:09:57 · 464 阅读 · 6 评论