![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码
文章平均质量分 97
earofreceiver
这个作者很懒,什么都没留下…
展开
-
关于mybatis注解方式的坑
Mybatis推荐用注解方式替代XML方式进行开发,这样SpringBoot+Mybatis开发就能做到“零"XML。然而Mybatis的注解方式还存在着不少的坑,比如以下SQL语句@Select({ "<script>", "select t.day from t", "where ", "t.day in " + "<foreach item='d...原创 2020-04-28 13:34:27 · 488 阅读 · 0 评论 -
SpringBoot的web完整的异常处理
开发SpringBoot应用,往往需要定义全局的异常处理机制。在系统处理用户请求出现错误时,能够返回自定义的错误页面。错误信息页面设计错误页面可以采用freemarker的模板的形式(尽量在Java代码中处理业务逻辑,而将页面渲染尽量写在html或者html模板中)。Freemarker可在pom文件中引用。<dependency> <groupId>org.spr...原创 2020-04-16 17:35:23 · 555 阅读 · 0 评论 -
springboot支持多邮件账号
springboot带有spring-boot-starter-mail包,可用于发送邮件。但是SpringBoot mail默认只能配置一个账号,为了支持多个账号,需要自定义IOC的机制。查看Springboot mail相关的源代码,发现邮件的配置主要是在类MailSenderPropertiesConfiguration里完成,这里会配置JavaMailSender和MailPropert...原创 2020-04-03 18:09:01 · 2029 阅读 · 0 评论 -
nginx tcp端口转发的配置-(用于作为邮件代理)
内网中有服务器需要通过nginx服务器作为代理,连接外网的smtp服务器发送邮件。查看nginx作为邮件正向和反向代理,均配置过于繁杂。想起来,外网的smtp服务器是采用ssl协议,本质上属于tcp流。因此,在nginx上配置tcp端口转发就可以解决这个问题了。在nginx的nginx.conf上添加以下配置。stream { server { listen 465; proxy_p...原创 2020-04-03 17:48:55 · 3403 阅读 · 4 评论 -
Javascript解析html GET请求时的参数
在构建J2EE web的时候,MVC的请求通常有两种方案:浏览器请求直接发送到后端,后端的Servlet对请求进行解析,解析完后再将解析结果forward到某html template上,渲染显示;浏览器先请求静态网页,静态网页通过javascript脚本向后端的Servlet发送ajax请求,将后端返回的结果回填到网页上显示。本人一般习惯于采用第二种方案。第二种方案能更好的实现前后端的...原创 2020-03-18 19:30:59 · 834 阅读 · 0 评论 -
Java后端将网页完美转为图片的方法
最近遇到开发需求,需要将SpringBoot后端的一个H5网页,转换为图片,并发送到指定的接口上。思路是操作服务器本地的Chrome,访问网页再“截图”为图片。然而Java本身并没有合适的控制本地Chrome的API,而nodejs的puppeteer提供了可以控制headless chrome的API接口,其中就包括对网页进行截屏的API。因此,决定用Java控制nodejs完成网页转图片文件的...原创 2020-03-15 00:03:24 · 3413 阅读 · 1 评论 -
SpringBoot+mybatis+Maven+Eclipse完整搭建流程以及一些坑的注意
搭建SpringBoot环境首先在Eclipse创建Maven工程。创建完后,在pom.xml里设置<groupId>com.xx</groupId><artifactId>xxx</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war<...原创 2020-03-02 23:03:04 · 1032 阅读 · 0 评论 -
poi踩过的坑
最近使用java的poi库,做一些自动生成的excel报表,遇到了几个坑总结如下。关于删除excel的行比如poi提供了removeRow函数,Row removingRow = sheet.getRow(i);if (removingRow != null) sheet.removeRow(removingRow);但是removeRow只清空了对应row的数据,但是如果当前row...原创 2020-03-01 23:30:43 · 938 阅读 · 0 评论 -
oracle to_char和java decimalformat的显示百分数的示例
有需求:从oracle数据库里读取到的number,小数点后保留2位,整数位不变,并加上百分号。采用以下方法select to_char(0.556, 'FM999999999999990.00') || '%' from dual; # 0.56%select to_char(13.556, 'FM999999999999990.00') || '%' from dual; #13....原创 2020-02-21 10:54:01 · 479 阅读 · 0 评论 -
java properties文件加载包含反斜杠的问题
在java中,利用Properties.load()加载配置文件时,如果配置文件含有“\”,则会将反斜杠作为转义符处理,而不是作为正常字符,如配置文件conf/test.properties里有testkey = d:\temp\那么采用以下代码,就会出现问题 public static void main(String[] args) throws Exception{ Proper...原创 2020-02-07 11:59:55 · 2457 阅读 · 1 评论 -
Properties的value值加密
现有需求,需要对配置文件里,敏感的字段进行加密,参考了properties文件加密的方法。使用时发现好处是,每次加密得到的密文都不一样,这样同样的value可以加密成不同的密码。为了支持在properties文件中,同时能读取明文的配置值和密文的配置值,采用了扩展Properties类的方法import java.io.IOException;import java.io.Unsupporte...原创 2020-01-17 15:57:51 · 487 阅读 · 0 评论 -
Java Properties配置的保存
Java Properties配置的保存调用现成的函数使用Properties自带的函数使用apache.common的 PropertiesConfiguration自己动手Java properties保存配置文件时,都会重写配置文件,而无法只更新配置文件的某一行。因此,涉及属性的配置修改,用sqlite的本地数据库来做还是最方便的,当然本地数据库的劣势是修改配置比较麻烦,得借助工具来改。...原创 2020-01-17 14:21:05 · 1482 阅读 · 0 评论