
java
文章平均质量分 83
呦-写bug呢
我真的见过UFO
展开
-
延时队列(Delayed)实现(支持失败重试机制自定义重试时间)
最初的业务场景就是:需要需要使用restTemplate调用个接口并且调用失败后需要延时重复调用(最多3次),第一次5秒,第二次10秒,第三次15秒。1. 主要功能最起初的话思考如果只是简单这样的话其实也好实现,重写httpClient里面就有相关的超时重试机制,但是如果要是实现了某个整体的方法来进行失败重试那不能更好。所以就根据这个想法实现了以下的几个功能:可以更简单的针对整个方法来进行延时或者有失败重试的调用执行。 可以设置首次是否延迟执行以及延迟执行的时间。 可以设置失败重试调用的原创 2020-10-10 14:57:42 · 3182 阅读 · 1 评论 -
设计模式个人理解【持续更新】
关于设计模式的一些个人理解以及示例代码。会持续的进行更新上传。所有的实例已经提交到git中。1 抽象工厂模式抽象工厂模式的详情介绍请查看:抽象工厂模式介绍【菜鸟教程】个人理解:/** * @program: springbootdemo * @description: 抽象工厂模式测试类 * * 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对原创 2020-05-30 09:08:25 · 309 阅读 · 0 评论 -
spring定时任务Scheduled注解源码详细分析
我们都知道再spring 中使用定时任务可以直接在要执行定时任务的方法上面加注解@Scheduled(cron="0/1 * * * * ?")。但是为什么只需这简单的一个注解就能执行定时任务,我们来看源码一点点分析。在项目中必须还加@EnableScheduling才能真正的启动定时任务,也就是去注册执行定时任务。我们来看@EnableScheduling的定义:@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Impo原创 2020-05-13 14:21:21 · 2478 阅读 · 0 评论 -
Redis分布式锁实现以及错误案例分析
最近看了一下分布式锁的知识,分布式锁在实际中用的还是比较多的,因为在高并发的情况下,不适用分布式锁的话会导致数据肯定是有问题的,例如电商平台的秒杀商品库存的问题。选用redis的原因就是:1. Redis有很高的性能。2. Redis本身就是单线程的所以不存在并发的问题。3. 以及Redis命令对此支持较好,实现起来比较方便。话不多说,直接看代码,关于一些细节问题和解释我都已...原创 2020-03-16 15:31:31 · 441 阅读 · 0 评论 -
SpringBoot学习日记一(创建springBoot项目+输出helloword)
springBoot框架之前的学习整理,看了网上的介绍感觉springboot会大大提升开发效率,简化开发的配置文件工作,极大方便了我们的开发。特此在此将我的springBoot学习之路从头开始记录整理,方便自己的学习总结和查看,也为其他在学习springboot的人给些参考和帮助,项目的开发工具用的是Idea。下面开始构建我的一个springBoot项目,项目名为springBootDemo...原创 2019-06-29 16:02:50 · 1409 阅读 · 0 评论 -
SpringBoot学习日记二(整合mysql+mybatis实现前后台完全分离网站登录功能)
--------------------先在pow.xml中引入mybatis依赖和mysql的依赖--------------------<!--mybatis依赖--><dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>myba...原创 2019-06-29 16:09:42 · 451 阅读 · 0 评论 -
SpringBoot学习日记三(整合mybatis使用传统的SqlSessionTemplate来实现通用Dao操作)
在学习日记二中,我们springbot+mybatis实现是通过mapper接口,mapper.xml。每一个的mapper.xml都对应一个mapper接口,我们的service调用的时候也是调用对应的mapper接口然后去操作数据库。所以当数据库的表多的情况或者sql语句复杂的情况下,为了项目的维护方便。以及不必需要那么多的mapper接口。所以我们可以通过传统的SqlSessionTem...原创 2019-06-29 16:23:12 · 2759 阅读 · 1 评论 -
SpringBoot学习日记四(整合实现AOP(自定义注解)-注解式拦截&方法规则拦截)
AOP的介绍我就不说了,大家自行百度。还是springBootDemo这个项目,使用aop,先在pow.xml中引入依赖。<!--AOP依赖,此依赖已包含AspectJ相关依赖包。--><dependency> <groupId>org.springframework.boot</groupId> <artif...原创 2019-06-29 16:32:52 · 822 阅读 · 0 评论