上次去头条面试: 面试官 :spring中,类上加不加@Configuration注解,有什么区别? 我 :当某个类上有@Configuration注解的时候,可以在这个类中使用@Bean注解向spring容器中注册bean;如果不加@Configuration注解,不能通过@Bean注解注册bean。 面试官…
进入 21 世纪以来,我们见证了企业分布式应用架构从 SOA (Service-oriented Architecture),到微服务架构,再到云原生应用架构的演化。 为了说明企业架构演化背后的思考,我们先谈一些玄学。 第一,企业 IT 系统的复杂性(熵)符合热力学第二定律。随着时间的推演,业务的变化,企业 IT 系统的复杂度会越来越高;…
一、String里不再使用char[] 在JDK9之前,String内部是通过char数组(char[])来保存字符数据的。但在JDK9以后,String的实现内部改为使用 byte数组(byte[]) 。这样做的主要原因是为了 节省内存空间…
前言 在java的庞大体系中,其实有很多不错的小工具,也就是我们平常说的: 轮子 。 如果在我们的日常工作当中,能够将这些轮子用户,再配合一下idea的快捷键,可以极大得提升我们的开发效率。 今天我决定把一些压箱底的小工具,分享给大家,希望对你有所帮助。 本文会分享17个我们日常工作中一定会用得到的小工具,主要内容如下: 1. Collections…
存在的问题以及解决方案 直接上案例,通过案例来看技术是如何使用的: 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的有一些优点…