最近的工作涉及到了生成xml文件并上传到AWS存储服务S3这样的处理。期间遇到了两个问题,简单记录下:
- springboot读取xml模板异常
- 将生成的xml上传到S3的问题
springboot的版本是2.1.9.RELEASE,读写xml文件使用的是Dom4J,版本是2.1.3。逐个说明下遇到的这几个问题。
1.springboot读取xml模板异常
现阶段是将x
最近的工作涉及到了生成xml文件并上传到AWS存储服务S3这样的处理。期间遇到了两个问题,简单记录下:
springboot的版本是2.1.9.RELEASE,读写xml文件使用的是Dom4J,版本是2.1.3。逐个说明下遇到的这几个问题。
现阶段是将x
简单记录一下在Springboot中上传文件到AWS S3存储服务的代码。
在application.xml中添加aws相关配置:
|
1 2 3 4 5 6 |
custom: aws: access-key: CHOBITACCESSKEY secret-key |
在使用jackson处理json时遇到了反斜杠相关的问题。比如我们从数据库或文件中读到了这样的一个json字符串:
|
1 |
{"text":"Hello \World!"} |
可以看到在World前面有一个反斜杠。因为这个反斜杠,JetBrains IDEA会提示这是一个错误的字符串,使用jakcson处理这个json字符串时也会报错,错误信息如下:
|
1 2 3 4 5 6 7 8 9 10 1 |
如果MySQL表的一些字段被设置为不允许为空,使用MyBatis写入的数据中相应字段的值是null就有可能会报类似下面的错误:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
org.springframework.dao.DataIntegrityViolationException: ### Error updating database. C |
工作中经常会有生成唯一字符串的需求。通常最容易想到的是UUID。UUID的唯一性毋庸置疑,但是32位的长度也容易让人退避三舍。也曾经想过参考《短网址生成方案》来生成一串ID,但是试验了一下发现唯一性不太好。
最终采用的方案是时钟方案,简单来说就是用当前时间戳做唯一ID。
采用时间戳做ID,秒或毫秒都容易产生重复,换成纳秒在单节点上就没问题了。参考百度百科关于纳秒…
在SpringBoot的源码中有看到使用abstract关键字定义的工具类,如:
|
1 2 3 4 5 6 7 8 9 |
package org.springframework.util; public abstract class StringUtils { public static boolean isEmpty(@Nullable Object str) { retur |
做360广告的对接需要对密码进行AES加密,下面是点睛平台文档的描述:
(AES模式为CBC,加密算法MCRYPT_RIJNDAEL_128)对MD5加密后的密码实现对称加密。秘钥是apiSecret 的前16位,向量是后16位,加密结果为64位数字和小写字母。
用Java实现AES需要依赖Java加密扩展(The Java Cryptography Extension…
如标题所示,最近这两个月学着用PHP写了个东西,顺道产出了一个框架:zero-framework。
其实用PHP写东西这个事情去年就开始了,期间研究过typecho,体验了ThinkPHP还有两三个非常粗糙的所谓的极简框架(比我的zero-framework还要粗糙)。在多番折腾后最终用CodeIgniter写了一个CMS应用。
总体来说,CodeIgniter…
这两天(20200409)手欠升级了DataGrip(JetBrains的数据处理工具),没想到升级完成后一打开就报了下面的错误:
Tried to use preview panel provider (JavaFX WebView), but it is unavailable. Reverting to default.
后来发现是markdown文档插件的问题。关键是这个Markd…
这个内容有点儿水了。但是将springboot启动时的banner修改一下是个蛮好玩的事情。比如,不知道什么时候,我们组的springboot应用的banner就被改成了这个样子:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
/////////////////////////////////////////////////////// |