定时任务应该这么玩

1.场景 在电商系统中会经常遇到这样一种场景,就是商品的定时上下架功能,总不能每次都手动执行吧,这个时候我们首先想到的就是利用定时任务来实现这个功能。 目前实现定时任务主要有以下几种方式: JDK自带 :JDK自带的Timer以及JDK1.5+ 新增的ScheduledExecutorService ... »

你都用过SpringCloud的哪些组件,它们的原理是什么?

前言 看到文章的题目了吗?就是这么抽象和笼统的一个问题,确实是我面试中真实被问到的,某共享货车平台的真实面试问题。 SpringCloud确实是用过,但是那是三四年前了,那个时候SpringCloud刚开始流行没多久,我们技术总监让我们调研一下,然后算上我在内的三个同事就一人买了一本SpringCl ... »

如何实现一个简易版的 Spring - 如何实现 Constructor 注入

前言 本文是「如何实现一个简易版的 Spring」系列的第二篇,在 第一篇 介绍了如何实现一个基于 XML 的简单 Setter 注入,这篇来看看要如何去实现一个简单的 Constructor 注入功能,实现步骤和 Setter 注入是一样的“套路”,先设计一个数据结构去解析表达 XML 配置文件里 ... »

springboot源码解析-管中窥豹系列之aware(六)

一、前言 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去。 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot源码管中窥豹系列。 二、ApplicationContextAware 假设我们想使用某个bean, ... »

springboot源码解析-管中窥豹系列之总体结构(一)

一、简介 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去。 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot源码管中窥豹系列。 二、框架 我们先把springboot源码的框架了解清楚。 1、新建一个spri ... »

Spring-动态代理

动态代理 动态代理和静态代理角色一样 动态代理的代理类是动态生成的,不是我们直接写好的 动态代理分为两大类:基于接口的动态代理,基于类的动态代理 1,基于接口--JDK动态代理【我们在这里使用】 2,基于类:cglib 3,Java字节码实现:javasist 需要了解两个类:Proxy :代理,I ... »

粉丝投稿!从2月份的面试被拒到如今的阿里P7,说一说自己学java以来的经验!

个人近期面试情况 今年二月以来,我的面试除了一个用友的,基本其他都被毙了,可以说是非常残酷的。其中有很多自己觉得还面的不错的岗位,比如百度、跟谁学、好未来等公司。说实话,打击比较大。 情况基本上是从三月开始好起来的,这个时间点,可能疫情快过去了,国家也开启了接近40万亿的基础建设计划,在这个时间段, ... »

整合SSM框架

整合SSM 基本环境搭建 导入相关的pom依赖! <dependencies> <!--Junit--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </de ... »

SpringMVC学习笔记(一)

什么是SpringMVC Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架。 查看官方文档:https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework-reference ... »

Spring整合Mybatis

整合流程 导入相关的包 mybatis;mybatis-spring;spring-webmvc;spring-jdbc;aspectjweaver(AOP面向切面);mysql;lombok;junit 可以参考mybitis-spring的文档进行学习:http://mybatis.org/sp ... »

建议收藏!利用Spring解决循环依赖,深入源码给你讲明白!

前置知识 只有单例模式下的bean会通过三级缓存提前暴露来解决循环依赖的问题。而非单例的bean每次获取都会重新创建,并不会放入三级缓存,所以多实例的bean循环依赖问题不能解决。 首先需要明白处于各个阶段的bean被放在哪里。在DefaultSingletonBeanRegistry类中 /** ... »

这个 bug 让我更加理解 Spring 单例了

我是风筝,公众号「古时的风筝」,一个兼具深度与广度的程序员鼓励师,一个本打算写诗却写起了代码的田园码农! 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在里面。 谁还没在 Spring 里栽过跟头呢,从哪儿跌倒,就从哪儿睡一会儿,然后再爬起来。 讲点儿武 ... »

Spring笔记(9) - IOC实现方式详解

IOC概念 控制反转(Inversion of Control,IOC),是面向对象编程中的一种设计原则,它建议将不需要的职责移出类,让类专注于核心职责,从而提供松散耦合,提高优化软件程序设计。它把传统上由程序代码直接操控的对象的调用权(new、get等操作对象)交给容器,通过容器来实现对象组件的装 ... »

Spring源码分析之循环依赖及解决方案

Spring源码分析之循环依赖及解决方案 往期文章: Spring源码分析之预启动流程 Spring源码分析之BeanFactory体系结构 Spring源码分析之BeanFactoryPostProcessor调用过程详解 Spring源码分析之Bean的创建过程详解 正文: 首先,我们需要明白什 ... »

Spring笔记(8) - @EventListener注解探究

在上文中讲了Spring的事件监听机制,流程是:定义事件、监听器,发布事件,控制台输出监听到的事件内容。 在上文的扩展中 使用 @EventListener 注解来自定义监听器,监听指定的事件,比如下面的案例: @Component public class UserManagerListener ... »

Spring笔记(7) - Spring的事件和监听机制

一.背景 事件机制作为一种编程机制,在很多开发语言中都提供了支持,同时许多开源框架的设计中都使用了事件机制,比如SpringFramework。 在 Java 语言中,Java 的事件机制参与者有3种角色: 1.Event Source:具体的事件源,比如说,你在界面点击一个 button 按钮,那 ... »