SpringBoot怎么自定义一个Starter ?


小伙伴们曾经可能都经历过整天写着CURD的业务,都没写过一些组件相关的东西,这篇文章记录一下SpringBoot如何自定义一个Starter。原理和理论就不用多说了,可以在网上找到很多关于该方面的资料,这里主要分享如何自定义。需求在一个项目中,用户需要发送消息,可以通过邮件,QQ,微信,钉钉,飞书等

两种方案实现Dubbo泛化调用


Dubbo的泛化调用是一个服务A在没有服务B的依赖,包的情况下,只知道服务B的服务名:服务的接口的全限定类名和方法名,以及参数,实现服务A调用服务B。方案一服务A定义接口,服务B实现该接口,意味着是服务B需要服务A的依赖,是满足泛化调用的条件的,以下是具体的实现。1,服务A接口定义public in

Java中如何实现一个回调函数

java 

有时候,我们可能想在自己的也会方法中通过不同的中间返回结果,来执行不同的操作,听起来似乎可以使用if-else来进行分支实现,但是有时候背后的业务十分复杂,或者是中间业务根本没有返回值等,这时候就很难通过if-else来判断。效果以下的代码中,当send()方法成功处理时,执行onSuccess()

Spring boot 实现动态数据源

如何实现动态数据源?比如,现存有两个数据源:master、salve,想实现某些方法上面使用master数据源,某些方法使用salve数据源。数据源定义# 数据源配置spring: datasource: type: com.alibaba.druid.pool.DruidDataSourc

Spring中,bean基础配置

对于bean的配置中,主要会讲解bean基础配置,bean的别名配置,bean的作用范围配置,这三部分内容bean基础配置(id与class)<bean id="" class=""/>其中,bean标签的功能、使用方式以及id和class属性的作

spring  java 

Java中double类型,为啥会出现精度不准确的情况?

我们在开发过程中,有可能会遇到double类型中小数的精度控制的问题,比如数值的计算,小数位的控制等等,但是经常会遇到精度控制不当,导致计算结果出错的问题,以下为你介绍double的底层实现以及为什么会出现精度问题。问题示例看以下的代码 @Test public void test(){

java 

Java中的double类型是怎么存储的?

进制转换先来了解一下double类型的进制转换,示例:double类型数据:17.625整数部分:计算商余数顺序17÷28158÷24044÷22032÷21021÷20 此时商为0,不再计算11小数部分:计算结果aa>=1?1:0顺序0.625×21.25110.25×20.5020.5×2

java 

Lambda表达式的演变

1,Lambda表达式简介希腊字母表中排序第十一的字母,英语名称为Lambda避免匿名内部类定义过多实质属于函数式编程的概念可以让你的代码看起来更加简介去掉一些没有意义的代码,只留下核心的逻辑举个简单的例子:new Thread(()->System.out.println(\"La

java 

线程的状态

1,线程有哪些状态?创建就绪阻塞运行死亡2,各状态过程详情1. 创建当创建了一个线程对象的时候,就进入了该状态:Thread t = new Thread( );2. 就绪当调用了start( )方法的时候,线程立即进入就绪状态,但是,这不意味着立即被调度执行,所以,此时等待CPU的调度。3. 运行

java 

线程实现的方式

线程创建的方式(3种)第一种,继承Thread类创建线程自定义线程类,继承Thread类;重写run()方法,编写线程的执行体;创建线程对象,调用start()方法。public class TestThread extends Thread { @Override public voi

java