简单记录一下在Springboot中上传文件到AWS S3存储服务的代码。 在application.xml中添加aws相关配置: 新建一个AwsS3Componment类来执行上传文件操作: 因为使用的服务有设置endpoint,所以这里
[阅读更多...]-
Java SpringBoot实现上传文件到AWS S3
-
Jackson处理json中的反斜杠
在使用jackson处理json时遇到了反斜杠相关的问题。比如我们从数据库或文件中读到了这样的一个json字符串: 可以看到在World前面有一个反斜杠。因为这个反斜杠,JetBrains IDEA会提示这是一个错误的字符串,使用jakcs
[阅读更多...] -
springboot入门11 – MyBatis写入时null问题统一处理方案
如果MySQL表的一些字段被设置为不允许为空,使用MyBatis写入的数据中相应字段的值是null就有可能会报类似下面的错误: 对于这个问题,我通常的做法是为对应字段的null值直接赋值一个空字符串(或其它默认值)。但是这次,不知道为什么那
[阅读更多...] -
java唯一字符串ID生成方案
工作中经常会有生成唯一字符串的需求。通常最容易想到的是UUID。UUID的唯一性毋庸置疑,但是32位的长度也容易让人退避三舍。也曾经想过参考《短网址生成方案》来生成一串ID,但是试验了一下发现唯一性不太好。 最终采用的方案是时钟方案,简单来
[阅读更多...] -
Java 抽象工具类
在SpringBoot的源码中有看到使用abstract关键字定义的工具类,如: 使用abstract关键字的目的猜测应该是为了避免实例化。 同样为了避免实例化,在jdk中定义的工具类则通常是使用私有化构造器来实现的: 目的都是为了避免实例
[阅读更多...] -
Java AES加密
做360广告的对接需要对密码进行AES加密,下面是点睛平台文档的描述: (AES模式为CBC,加密算法MCRYPT_RIJNDAEL_128)对MD5加密后的密码实现对称加密。秘钥是apiSecret 的前16位,向量是后16位,加密结果为
[阅读更多...] -
springboot入门10 – 修改banner
这个内容有点儿水了。但是将springboot启动时的banner修改一下是个蛮好玩的事情。比如,不知道什么时候,我们组的springboot应用的banner就被改成了这个样子: 据说改了之后BUG真的少了耶!(*/ω\*) 修改方式也比
[阅读更多...] -
springboot入门09 – 实现伪静态
最近想了下springboot前端路径的伪静态实现。 通过百度最容易找到的方案是使用urlrewritefilter这个依赖。不过一想到要为这么一件事情就添加一个依赖,还要再添加一个配置文件,还要挨个写一遍所有的路径映射就觉得头疼,所以pa
[阅读更多...] -
SpringBoot探索04 – Java Headless Mode
引入 在springboot的启动代码中看到了下面这一句: 先不谈这段代码的作用,只说这里的写法就有很多可以借鉴的地方: 定义了有意义的常量 在set之前先get以避免覆盖用户自定义配置 允许用户在程序中配置headless项,所以有了th
[阅读更多...] -
springboot学习01 – 自定义自动配置
概述 SpringBoot提供了自动配置能力。通过自动配置我们可以非常方便地启动相关的服务。 SpringBoot自动配置有两个核心模块: 自动配置模块(autoconfigure):主要负责读取配置相关的内容,并尝试启动服务; 启动模块(
[阅读更多...]