天道酬勤,学无止境

IOC容器

详解依赖注入(DI)和Ioc容器

简单的来说,关键技术就是:注册器模式。   场景需求我们知道写一个类的时候,类本身是有个目的的,类里面有很多方法,每个方法搞定一些事情;我们叫这个类为主类。另外这个主类会依赖一些其他类的帮忙,我们叫这些类为次类,为了实现主类的目标,要依赖很多次类来配合,而且次类很可能被广泛主类依赖,例如:日志类。编程思路现在我们就举个例子,我需要用到一个泡妞类Hookup主类,里面有“送礼物”这个方法,当然还有其他方法。我们只拿“送礼物”这个方法来举例说明。当我们用到泡妞类的时候,我们只关心里面的直接方法“送礼物”,而“送礼物”里面还要“选礼物,付款”等操作,,至于怎么选礼物,怎么付款,那不关我的事情,这些依赖次类BuyGift的配合了。require 'BuyGift.php';class Hookup{ //送礼物 function giveGift(){ $gift = new BuyGift(); $gift->select(); $gift->pay();   } } $paoniu = new Hookup();$paoniu->giveGift(); 问题根本所以,一切问题的出发点,就是在一个主类中调用其他次类,我们要解决的,就是在这次类依赖过程中会发生的问题。好,现在你已经知道什么是依赖了。问题来了。BuyGift 这种“次类” ,除了泡妞,也可以放在 做生意这个类里面调用

2021-05-18 15:43:59    分类:博客    IOC容器   依赖注入

Spring5参考指南:IOC容器

文章目录为什么使用Spring5什么是IOC容器配置元数据实例化容器XML嵌套groovy bean定义DSL使用容器最近在翻译Spring Framework Documentation 5.1.8.RELEASE. 觉得还是可以系统的将Spring5的知识点系统的再整理一下,于是有了这个Spring5参考指南系列,教程会一直更新,翻译也会同步进行,敬请期待。为什么使用Spring5Spring经过这么多年的发展,已经成为既定的企业级J2EE标准,其最大的优点即是轻量级和其最核心的IOC容器。 Spring最新的版本已经到了5.1.8,Spring5提供了很多新的特性,个人认为最主要的有3点:使用JDK8的新特性 最引人注意的是Spring5使用了JDK8中的lambda表达式,让代码变得更加简洁。响应式编程支持 响应式编程是Spring5中最主要的特性之一,响应式编程提供了另一种编程风格,专注于构建对事件做出响应的应用程序。 Spring5 包含响应流和 Reactor。响应式web框架 Spring5提供了一个最新的响应式Web框架,Spring WebFlux,在编程理念和使用习惯方面和之前的传统Web框架都有了很大的区别。当然,我们要拥抱新技术新变化,那么快来学习Spring5吧。什么是IOC容器IOC也称为依赖注入(DI)。它是指对象仅通过构造函数参数

2021-05-13 12:30:31    分类:博客    Spring5   IOC容器

2021-03-30

这里是引用/** * @Author: Promsing * @Date: 2021/3/19 - 11:50 * @Description: 模仿IOC容器,将创建的对象放在Map集合中,加载该类时会读取配置文件中,将类放入Map中 * @version: 1.0 */ public class BeanFactory {//定义一个properties对象 private static Properties props;//定义一个Map,用于存放我们创建的对象(单例,当类加载之后就有了对象,之后从Map中获取) private static Map<String,Object> beans; //容器 static {try {props=new Properties();//将bean.properties放在了resources路径下 InputStream is=BeanFactory.class.getClassLoader().getResourceAsStream("bean.properties");props.load(is);//实例化容器 beans=new HashMap<String,Object>();//从配置文件中获取所有key值 Enumeration<Object> keys = props.keys();while (keys

2021-03-30 22:10:09    分类:博客    IOC容器   容器