为什么需要使用时间这种模式? 先来看一个业务场景: 产品经理:路人,这两天你帮我实现一个注册的功能 我:注册功能比较简单,将用户信息入库就可以了,伪代码如下: public void registerUser(UserModel user){ //插入用户信息到db,完成注册 this.insertUser(user); }…
本文主要内容 什么是Aop? Spring AOP中重要的一些概念详解 Spring AOP 硬编码实现 什么是AOP? 先看一下传统程序的流程,比如银行系统会有一个取款流程 \ 我们可以把方框里的流程合为一个,另外系统还会有一个查询余额流程,我们先把这两个流程放到一起: 有没有发现,这个两者有一个相同的验证流程,我们先把它们圈起来再说下一步:…
上次去头条面试: 面试官 :spring中,类上加不加@Configuration注解,有什么区别? 我 :当某个类上有@Configuration注解的时候,可以在这个类中使用@Bean注解向spring容器中注册bean;如果不加@Configuration注解,不能通过@Bean注解注册bean。 面试官…
存在的问题以及解决方案 直接上案例,通过案例来看技术是如何使用的: package com.javacode2018.lesson001.demo8; public class NormalBean { public interface IService{} //@1 public static class ServiceA implements…
本文内容 为什么需要用代理 jdk动态代理玩法详解 cglib代理常见的各种玩法详解 代理spring中用到的挺多的,比如上篇文章中的lookup-method和replaced-…
先来看一个案例 ServiceA.java package com.javacode2018.lesson001.demo12; public class ServiceA { } ServiceB.java package com.javacode2018.lesson001.demo12; public class ServiceB { private…
lookup-method:方法查找 通常情况下,我们使用的bean都是单例的,如果一个bean需要依赖于另一个bean的时候,可以在当前bean中声明另外一个bean引用,然后注入依赖的bean,此时被依赖的bean在当前bean中自始至终都是同一个实例。 先来个案例回顾一下 package…
当容器中某种类型的bean存在多个的时候,此时如果我们从容器中查找这种类型的bean的时候,会报下面这个异常: org.springframework.beans.factory.NoUniqueBeanDefinitionException…
bean初始化的方式2种方式 实时初始化 延迟初始化 bean实时初始化 在容器启动过程中被创建组装好的bean,称为实时初始化的bean,spring中默认定义的bean都是实时初始化的bean,这些bean默认都是单例的,在容器启动过程中会被创建好,然后放在spring容器中以供使用。 实时初始化bean的有一些优点…