Mik*_*e R 4 java groovy annotations jasypt
我想使用Jasypt库为我的应用程序添加加密.他们的集成页面说要添加一个@TypeDef注释:
" 使用@TypeDef注释定义加密类型,该注释可以位于持久化实体类内部,也可以位于单独的package-info.java文件中的@TypeDefs声明内 ":
@TypeDef(
name="encryptedString",
typeClass=EncryptedStringType.class,
parameters= {
@Parameter(name="encryptorRegisteredName", value="myHibernateStringEncryptor")
}
)
Run Code Online (Sandbox Code Playgroud)
但是,我注意到当我在groovy文件上尝试这个时,我收到了语法错误.
" Groovy:意外的令牌:} @第12行,第3列. "
当我将确切的代码复制并粘贴到java文件中时,它可以正常工作.如果我删除它有效的参数参数,我认为参数{}参数被groovy解释为闭包.
编辑:我最终将注释移动到package-info.java但我仍然想知道为什么这在groovy中不起作用.
问题可能在于参数块:
parameters= {
@Parameter(name="encryptorRegisteredName", value="myHibernateStringEncryptor")
}
Run Code Online (Sandbox Code Playgroud)
虽然可以在java中使用花括号来为数组指定静态初始化块,但在groovy中,花括号是闭包的语法标记,这不是你想要的.我想以下可能会奏效:
parameters= [
@Parameter(name="encryptorRegisteredName", value="myHibernateStringEncryptor")
]
Run Code Online (Sandbox Code Playgroud)
注意硬括号,这是匿名创建的列表/地图的groovy标记.
| 归档时间: |
|
| 查看次数: |
514 次 |
| 最近记录: |