2020年4月15日

摘要: 前言 我们经常会看到或使用InitializingBean(或@PostConstruct)进行Bean的一个初始化过程,但是有时候会发现InitializingBean存在一些不太适用的场景。 比如我们有以下一个Dog类 @Service @Scope(scopeName = Configurab 阅读全文
posted @ 2020-04-15 00:46 沐魇 阅读(2668) 评论(0) 推荐(3) 编辑

2020年4月13日

摘要: 前言 一个Spring Boot 应用偶尔会因为某些原因启动失败,此时Spring Boot会友好地输出类似于这样一段文字,告诉你发生了什么,甚至应该采取什么行动: *************************** APPLICATION FAILED TO START *********** 阅读全文
posted @ 2020-04-13 23:49 沐魇 阅读(1240) 评论(0) 推荐(2) 编辑

2019年10月15日

摘要: 导读:本文通过一个Netty的一个issue来学习什么是 "http request smuggling"、它产生的原因与解决方法,从而对http协议有进一步了解。 前言 前阵子在Netty的issue里有人提了一个问题 http request smuggling, cause by obfusc 阅读全文
posted @ 2019-10-15 22:22 沐魇 阅读(2022) 评论(0) 推荐(2) 编辑

2019年10月11日

摘要: 前言 在SpringCache缓存初探中我们研究了如何利用spring cache已有的几种实现快速地满足我们对于缓存的需求。这一次我们有了新的更个性化的需求,想在一个请求的生命周期里实现缓存。 需求背景是:一次数据的组装需要调用多个方法,然而在这多个方法里又会调用同一个IO接口,此时多浪费了一次I 阅读全文
posted @ 2019-10-11 11:38 沐魇 阅读(4182) 评论(2) 推荐(1) 编辑

2017年3月8日

摘要: 简易入门 一、作用 当我们在调用一个缓存方法时会根据相关信息和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接从缓存中获取结果进行返回。 二、启用方式 1.POM.xml 文件中添加spring cache依赖(Spring Boot) 2.添加一种 阅读全文
posted @ 2017-03-08 11:23 沐魇 阅读(43137) 评论(2) 推荐(1) 编辑

2016年11月22日

摘要: 背景 利用MyBatis将数据库的时间类型映射成Java8的时间类型,引申对不同类型的自定义映射 实现方法 1.实现MyBatis中TypeHandler接口 @MappedTypes(value = DateTime.class) @MappedJdbcTypes(value = {JdbcTyp 阅读全文
posted @ 2016-11-22 09:51 沐魇 阅读(1495) 评论(0) 推荐(0) 编辑

2015年9月21日

摘要: 徒手用Java来写个Web服务器和框架吧<第一章:NIO篇> 徒手用Java来写个Web服务器和框架吧<第二章:Request和Response> 这一章先把Web框架的功能说一些,有个雏形。 先是制作一个Service,并绑定到一个正则地址。用到了注解和反射。 项目地址: Telemarketer 阅读全文
posted @ 2015-09-21 13:13 沐魇 阅读(1420) 评论(0) 推荐(3) 编辑

2015年9月20日

摘要: 徒手用Java来写个Web服务器和框架吧<第一章:NIO篇> 接上一篇,说到接受了请求,接下来就是解析请求构建Request对象,以及创建Response对象返回。 多有纰漏还请指出。省略了很多生产用的服务器需要处理的过程,仅供参考。可能在不断的完善中修改文章内容。 先上图 // 2015年09月3 阅读全文
posted @ 2015-09-20 14:26 沐魇 阅读(1253) 评论(0) 推荐(1) 编辑

2015年9月19日

摘要: 因为有个不会存在大量连接的小的Web服务器需求,不至于用上重量级服务器,于是自己动手写一个服务器。 同时也提供了一个简单的Web框架。能够简单的使用了。 大体的需求包括 会省略一些暂时影响察看的代码。还不够完善,供记录问题和解决办法之用,可能会修改许多地方。 让我们开始吧~ // 更新 2015年0 阅读全文
posted @ 2015-09-19 20:14 沐魇 阅读(3049) 评论(3) 推荐(3) 编辑

2015年9月5日

摘要: 问题一: 查看哪个进程占用了哪个端口、以及杀掉进程1.查看占用端口:sudo lsof -i :80lsof 命令 是 list open files的意思 比如: lsof filename 显示打开指定文件的所有进程 lsof -i 用以显示符合条件的进程情况(4、6、协议、:端口、@ip... 阅读全文
posted @ 2015-09-05 17:56 沐魇 阅读(393) 评论(0) 推荐(0) 编辑