MoDou Blog

Thinking will not overcome fear but action will.

自定义Docker容器镜像并将其上传到DockerHub中

自定义Docker容器镜像并将其上传到DockerHub中

自定义Docker容器镜像并将其上传到DockerHub中 Docker从2013年发布至今,一直是广受瞩目,所以我们或多或少也应该了解一些Docker的技术原理,而学习一项技术有了兴趣才能更好的让你持续学习下去。如果让你体会到Docker的神奇之处那么兴趣或许会大一点,接下来我们就先从自定义一个自己的Docker容器镜像来开启学习Docker的第一步。 自定义Docker容器镜像 ...

不学无数——徒手撸一个简单的IOC

徒手撸一个简单的IOC

徒手撸一个简单的IOC Spring框架中最经典的两个就是IOC和AOP,其中IOC(Inversion of Control)是什么呢?控制反转,简单来说就是将控制实体Bean的动作交给了Spring容器进行管理。再简单点来说就是例如之前想用一个类,必须new一个,但是使用了Spring那么直接用@Autowired注解或者用xml配置的方式就能直接获得此对象,而且你也不用管它的生命周期...

不学无数——Mysql查询带树状结构的信息 Gradle多项目工程

Mysql查询带树状结构的信息 Gradle多项目工程

Mysql查询带树状结构的信息 在Oracle中有函数应用直接能够查询出树状的树状结构信息,例如有下面树状结构的组织成员架构,那么如果我们想查其中一个节点下的所有节点信息,在Oracle中可以直接用下面的语法可以进行直接查询。 START WITH CONNECT BY PRIOR 但是在Mysql中是没有这个语法的,而如果你也是想要查询这样的数据结构信息该怎么做呢?我们可以自定...

不学无数——徒手撸一个简单的RPC框架

徒手撸一个简单的RPC框架

徒手撸一个简单的RPC框架 之前在牛逼哄哄的 RPC 框架,底层到底什么原理得知了RPC(远程过程调用)简单来说就是调用远程的服务就像调用本地方法一样,其中用到的知识有序列化和反序列化、动态代理、网络传输、动态加载、反射这些知识点。发现这些知识都了解一些。所以就想着试试自己实现一个简单的RPC框架,即巩固了基础的知识,也能更加深入的了解RPC原理。当然一个完整的RPC框架包含了许多的功能,...

不学无数——使用IDEA创建SpringBoot Gradle多项目工程

使用IDEA创建SpringBoot Gradle多项目工程

使用IDEA创建SpringBoot Gradle多项目工程 最近想用Springboot做一个项目练手,但是发现在一个项目中运行两个Springboot的工程不会创建,在网上查了一些资料,记录一下创建多项目工程的步骤 1. 点击Idea下的File新建一个Project 2. 由于使用的Gradle,所以此处选择Gradle项目创建 3. GroupId可以不用填写,Art...

不学无数——Spring Cloud 中使用Feign解决参数注解无法继承的问题

Spring Cloud 中使用Feign解决参数注解无法继承的问题

Spring Cloud 中使用Feign解决参数注解无法继承的问题 在使用Feign的时候,通常先写一个接口类,然后再写实现类,根据官网的例子接下来编写一个简单的Feign的请求例子 @FeignClient("spring-cloud-eureka") public interface FeignDemoApi { @RequestMapping("/testFeign")...

不学无数——Feign源码解析——执行过程

Feign源码解析——执行过程

Feign源码解析——执行过程 在上一篇Feign源码解析——初始化流程中我们从注解为起点介绍了Feign是如何进行初始化参数、将Bean注入到Spring容器中的。接下来我们就介绍Feign是如何开始执行的。 回顾 在上一篇中我们了解到了Feign将自身的参数注入到Spring容器中是分两种类型进行注入的。 FeignClientSpecification :主要为名字和Co...

不学无数——如何使用Spring的FactoryBean接口

如何使用Spring的FactoryBean接口

如何使用Spring的FactoryBean接口 在Spring容器中有两类的Bean,一类是普通的Bean,一类是工厂Bean。这两种Bean都是被Spring的容器进行管理的。而Spring也提供了一个接口用于扩展工厂Bean,我们只要实现org.springframework.beans.factory.FactoryBean即可。 如何使用 首先我们看一下FactoryBean...

不学无数——Feign源码解析——初始化流程

Feign源码解析——初始化流程

Feign源码解析——初始化流程 首先我们在使用Feign的时候会加上两个注解,第一个是@EnableFeignClients开启Feign的功能,第二个是在修饰被调用方的接口加上这个注解@FeignClient而生成代理类。那么我们就根据这两个注解为入口进行解析。 @EnableFeignClients注解 @Retention(RetentionPolicy.RUNTIME) @T...

不学无数——FreeMarker对应各种数据结构解析

FreeMarker对应各种数据结构解析

FreeMarker对应各种数据结构解析 FreeMarker 是一个采用 Java 开发的模版引擎,是一个基于模版生成文本的通用工具。 FreeMarker 被设计用来生成 HTML Web 页面,特别是基于 MVC 模式的应用程序。虽然 FreeMarker 具有一些编程的能力,但通常由 Java 程序准备要显示的数据,由 FreeMarker 生成页面,并通过模板显示准备的数据...