自己实现IOC过程

阅读了《架构探险》这本书之后简单梳理一下自己实现IOC的基本流程

首先要自己定义一个注解

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 依赖注入注解
 *
 * @since 1.0.0
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Inject {
}

这个注解标记在类中的哪个属性

时间: 2024-10-28 23:27:44

自己实现IOC过程的相关文章

【Spring】Spring IOC原理及源码解析之scope=request、session

一.容器 1. 容器 抛出一个议点:BeanFactory是IOC容器,而ApplicationContex则是Spring容器. 什么是容器?Collection和Container这两个单词都有存放什么东西的意思,但是放在程序猿的世界,却注定是千差万别.Collection,集合,存放obj instanceof Class为true的一类对象,重点在于存放:Container,容器,可以存放各种各样的obj,但不仅仅是存放,他被称为容器,更重要的是他能管理存放对象的生命周期和依赖. 容器:

IoC原理及实现

什么是IoC  IoC是Inversion of Control的缩写,翻译过来为"控制反转".简单来说,就是将对象的依赖关系交由第三方来控制.在理解这句话之前,我们先来回顾一下IoC的演化. Ioc前生今世 传统的new class的方式 我们写了一个ChineseSpeaker的类,他有一个SayHello的方法并调用输出控制台: class Program { static void Main(string[] args) { ChineseSpeaker chineseSpea

《Spring技术内幕》笔记-第二章 IoC容器的实现

简介 1,在Spring中,SpringIoC提供了一个基本的JavaBean容器,通过IoC模式管理依赖关系,并通过依赖注入和AOP切面增强了为JavaBean这样子的POJO提供事务管理,生命周期管理等功能. 2,Spring IoC的设计中,主要包含两个主要的容器系列: -1,BeanFactory系列,该序列实现了容器的基本功能. -2,ApplicationContext应用上下文. Spring IoC容器的设计 1,如下图,IoC容器的接口设计图. 2,简介 -1,从BeanFac

精尽 Spring 面试题

以下面试题,基于网络整理,和自己编辑.具体参考的文章,会在文末给出所有的链接. 如果胖友有自己的疑问,欢迎在星球提问,我们一起整理吊吊的 Spring 面试题的大保健. 而题目的难度,艿艿尽量按照从容易到困难的顺序,逐步下去. 注意 1 ,这个面试题,暂时不包括 Spring MVC 部分.主要以 Spring IoC.Spring AOP.Spring Transaction 为主. 注意 2 ,T T Spring 怎么会有这么多问题,艿艿自己面试很多都不太问,跟背书一样.所以整理的过程,真

java之spring

Spring Spring中的基本概念1.IOC/DI对象的属性由自己创建,为正向流程,而由Spring创建,为控制反转.DI(依赖注入)为实现IOC的一种方式,通过配置文件或注解包含的依赖关系创建与注入对象.正向流程导致了对象与对象之间的高耦合,IOC可以解决对象耦合的问题,有利于功能的复用 例如,招聘中,公司按岗位要求安排人选为正向流程,反之,由第三方猎头匹配岗位和候选人,并向公司推荐, 一.Ioc是什么? 控制反转(Inversion of Control,缩写为IoC),是面向对象编程中

spering getBean()

IOC:前面都是对bean定义的处理,postProcess已经实例化了. 解析bean的时候,把需要依赖注入的字段和方法,在postProcessMergedBeanDefinition方法中加到AutowiredAnnotationBeanPostProcessor的变量中,然后在AutowiredAnnotationBeanPostProcessor的作为入口,去依赖注入字段和方法. protected void finishBeanFactoryInitialization(Config

整理随笔

数据库 Coalesce函数 COALESCE是一个函数, (expression_1, expression_2, ...,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值.如果所有的表达式都是空值,最终将返回一个空值.使用COALESCE在于大部分包含空值的表达式最终将返回空值. 解决缩表问题 --查询是否锁表了 select oid from pg_class where relname='可能锁表了的表' select pid from pg_locks

IOC容器的初始化过程

1.ClassPathXmlApplicationContext类体系结构 左边的黄色部分是ApplicationContext体系继承结构,右边是BeanFactory结构体系,两个体系是典型的模板方法设计模式的使用. 从该继承体系可以看出: (1)BeanFactory是一个bean工厂的最基本定义,里面包含了一个bean工厂的几个最基本方法:getBean(),containsBean()等,是一个很纯粹的bean工厂,不关注资源.资源位置.事件等. ApplicationContext是

Spring IoC容器初始化过程

IoC容器是什么?IoC文英全称Inversion of Control,即控制反转,我么可以这么理解IoC容器: 把某些业务对象的的控制权交给一个平台或者框架来同一管理,这个同一管理的平台可以称为IoC容器. 我们刚开始学习spring的时候会经常看到的类似下面的这代码: ApplicationContext appContext = new ClassPathXmlApplicationContext("cjj/models/beans.xml"); Person p = (Per