Loading

合集-Spring5 源码

摘要:一般情况下,Spring通过反射机制利用bean的class属性指定实现类来实例化bean。在某些情况下,实例化bean过程比较复杂,如果按照传统的方式,则需要在标签中提供大量的配置信息,配置方式的灵活性是受限的。为此,spring可以通过实现FactoryBean的接口来定制实例化bean的逻辑。 阅读全文
posted @ 2024-03-05 22:41 zgcy123456 阅读(28) 评论(0) 推荐(0)
摘要:spring5 自定义脚本开发步骤 1 定义bean public class User { private String id; private String userName; private String email; private String password; public Strin 阅读全文
posted @ 2024-02-21 22:02 zgcy123456 阅读(26) 评论(0) 推荐(0)
摘要:如果自定义实现了BeanFactoryPostProcessor接口,那么想让spring识别到的话,有两种方式: 1 定义在spring的配置文件中,让spring自动识别 代码实现如下: 定义实现BeanFactoryPostProcessor接口 的类 MyBeanFactoryPostPro 阅读全文
posted @ 2024-02-21 22:02 zgcy123456 阅读(18) 评论(0) 推荐(0)
摘要:监听器在spring中应用很多,观察者模式和spring 中的观察者模式结构对比图如下 1 观察者模式结构对比图如下: 以springboot的源码为例, 2 逻辑执行过程 1 事件源来发布不同的事件 2 当发布事件之后会调用多播器的方法来进行事件广播操作,由多播器去出发具体的监听器去执行操作 3 阅读全文
posted @ 2024-03-05 22:29 zgcy123456 阅读(156) 评论(0) 推荐(0)
摘要:code 如下, 创建 package com.gientech.methodOverrides.replace; public class OriginalDog { public void sayHello(){ System.out.println("Hello, I am a black d 阅读全文
posted @ 2024-03-13 17:39 zgcy123456 阅读(22) 评论(0) 推荐(0)
摘要:spring 中默认的对象都是单例的,spring会在一级缓存中持有该对象,方便下次直接获取,如果对象作用域是原型作用域,则会创建一个新的对象。 1 错误示例--单例对象引用多例对象 code如下 package com.gientech.methodOverrides.loopup; public 阅读全文
posted @ 2024-03-13 17:51 zgcy123456 阅读(27) 评论(0) 推荐(0)
摘要:factory-bean: 指定使用哪个工程实例,实例工厂,非静态方法创建bean factory-method:指定使用哪个工厂实例的方法。静态工厂,静态方法创建bean 判断的依据是 创建bean的方法是否存在 static 修饰符。 具体code 如下: package com.gientec 阅读全文
posted @ 2024-03-18 22:18 zgcy123456 阅读(19) 评论(0) 推荐(0)
摘要:通过Supplier接口创建对象,具体code 如下: package com.gientech.supplier; public class Car { private String name; public Car() { } public Car(String name) { this.nam 阅读全文
posted @ 2024-04-14 14:41 zgcy123456 阅读(56) 评论(0) 推荐(0)
摘要:BeanPostProcessor 结构图 1 code 如下: package com.gientech.resolveBeforeInstantiation; public class BeforeInstantiation { public void doSomething(){ System 阅读全文
posted @ 2024-03-18 08:32 zgcy123456 阅读(16) 评论(0) 推荐(0)
摘要:构造函数解析 实例化之前,如何选择构造函数。 构造函数解析示例,code 如下。 定义实体类: package com.gientech.constructor; public class Person { private String name; private int id; private i 阅读全文
posted @ 2024-03-22 09:02 zgcy123456 阅读(41) 评论(0) 推荐(0)
摘要:Spring 中自定义转换器实现案例 1 自定义转换器 code 如下: package com.gientech.selfConvert; import org.springframework.core.convert.converter.Converter; public class Stude 阅读全文
posted @ 2024-03-22 08:59 zgcy123456 阅读(55) 评论(0) 推荐(0)
摘要:Hello World 在spring中,对象的创建可以分为实例化和初始化,实例化完成但未完成初始化的对象时可以直接给其他对象引用的,所以此时可以做一件事,把实例化完成,但初始化未完成的对象提前暴露出去,让其他对象能够进行引用,即提前暴露对象。 三级缓存代码示例如下 package com.gien 阅读全文
posted @ 2024-03-25 08:45 zgcy123456 阅读(13) 评论(0) 推荐(0)
摘要:1 JDK Proxy 案例 JDK 代理类必须要实现一个接口。 创建接口 package com.gientech.proxy.jdk; public interface ICalculator { public Integer add(Integer i,Integer j); public I 阅读全文
posted @ 2024-04-08 22:17 zgcy123456 阅读(23) 评论(0) 推荐(0)