`
gaowenming
  • 浏览: 167930 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

模拟实现spring的bean工厂

阅读更多

spring的IOC容器时运用工厂模式实现的,我也简单的模拟一下bean工厂。

场景:定义一个接口 Person,里面有个方法 speek(),说话,Boy可以实现speek,Girl当然也可以实现

当我们需要获取具体的boy或girl对象时,我们的设计思路是直接从我们创建的工厂里面获取,而不需要自己new出来。

到此,如果不考虑工厂模式的话,我们的实现是 Person p = new Boy(),然后调用speek方法,这样做的话肯定是不灵活的,下面我们就考虑spring的Bean工厂

这里是最简单的bean,就是id对应class,我们把需要new的对象都配置在bean里面,给一个唯一的id值,那么当我们需要new哪个类的对象时,只需要把该类对象的id号传递过来,通过反射获取该对象的实例

这就是简单的bean工厂,通过getObjectInstance()方法获取指定的对象

到此,spring的bean工厂就模拟完毕!

分享到:
评论

相关推荐

    模拟spring工厂模式底层实现。

    在Spring框架中,工厂模式是核心的组件创建方式,它负责生成并管理Bean。Spring的IoC(Inversion of Control,控制反转)容器就是通过工厂模式来工作的,它使用了工厂方法来创建对象,实现了对象的创建与业务逻辑的...

    模拟Spring的IOC

    要模拟Spring的IOC容器,我们需要实现以下几个核心功能: - **Bean定义(Bean Definition)**:存储对象的创建信息,如类名、属性值、依赖关系等。 - **Bean工厂(Bean Factory)**:负责读取Bean定义,并根据定义...

    模拟实现spring IOC AOP的例子

    在提供的例子中,你可以看到如何创建一个Bean工厂,模拟Spring的Bean定义和实例化过程。例如,通过XML配置文件或注解来声明Bean及其依赖,并在需要时由容器负责注入。 接下来,我们转向AOP。AOP允许开发者定义“切...

    以注解方式模拟Spring IoC AOP

    模拟Spring的IoC,我们可以创建一个简单的容器类,其中包含一个Map来存储bean。然后使用注解处理器扫描带有特定注解(如`@Component`)的类,并将它们注册到容器中。当需要注入依赖时,容器可以解析注解并自动装配。...

    java模拟spring ioc

    1. **创建Bean工厂**:首先,我们需要一个类来模拟Spring的Bean工厂,它负责创建和管理对象。这个工厂可以包含一个Map,用于存储对象及其对应的类。 2. **定义Bean接口**:为每个需要管理的对象定义一个接口,接口...

    模拟Spring架构的简易实现

    2. **BeanFactory**:模拟Spring的Bean工厂,负责创建和管理Bean实例,实现依赖注入。 3. **ApplicationContext**:模拟Spring的应用上下文,提供了更高级别的功能,如事件传播、资源加载等。 4. **AopProxy**:模拟...

    模拟spring实现包扫描器功能

    本文将深入探讨如何模拟Spring实现包扫描器功能,以便在不依赖Spring框架的情况下,扫描指定包下的所有类。 首先,我们需要理解Spring是如何进行包扫描的。在Spring中,这个过程由`org.springframework.context....

    第一章 Spring4 简介及获取Bean

    1. **Core Container**:包括Core和Beans模块,提供DI和Bean工厂。 2. **Data Access/Integration**:如JDBC、ORM、OXM、JMS和 Transactions模块,支持数据访问和集成。 3. **Web**:Web-Servlet和Web-Portlet模块,...

    模拟Spring的IoC容器实现注解自动装配

    现在,我们将深入探讨如何模拟Spring的IoC容器实现注解自动装配。 首先,我们需要理解IoC容器的基本工作原理。IoC容器是通过扫描应用程序上下文来发现所有需要管理的bean,并根据bean定义来创建和初始化这些bean。...

    Spring-IOC手动模拟实现-利用dom4解析xml文件

    /*模拟spring的实现 * 1.通过构造器获取配置文件 * 2.通过dom4j解析配置文件,得到list集合(存放Bean标签的id和class属性) * 3.通过反射实例化得到对应的实例化对象,放置在map中(map是键值对,可根据id获取值)...

    SpringIOC和AOP实现机制模拟

    3. **Bean工厂和ApplicationContext**:Bean工厂是Spring容器的基础实现,而ApplicationContext是更高级的容器,它提供了更多的企业级服务,如消息源、国际化支持等。ApplicationContext从配置文件中读取Bean的定义...

    自主实现的简易Spring框架

    3. Bean工厂:根据Bean定义创建和管理Bean实例。 4. 注解解析器:解析类和方法上的注解,生成对应的Bean定义或切面规则。 5. AOP代理:用于拦截方法调用,实现切面的插入。 6. 依赖注入:根据Bean定义中的依赖关系,...

    用工厂模拟spring的IOC

    在这个场景下,我们将讨论如何通过工厂模式来模拟Spring的IOC(Inversion of Control,控制反转)机制,从而更好地理解这两者之间的关系。 首先,让我们深入了解一下工厂模式。工厂模式是一种设计模式,它提供了一...

    模拟spring的xml配置文件注入

    模拟Spring的XML配置文件注入,还需要实现一个Bean工厂类,它负责根据XML配置创建bean,处理依赖关系。这个工厂类通常会有一个`parse()`方法,接受XML文件路径作为参数,解析XML后创建并返回bean实例。 在`...

    手动实现Spring底层机制项目包

    在"zzw-myspring"项目中,我们将模拟Spring的Bean工厂,实现Bean的创建、初始化、装配以及管理。这一过程包括: 1. 配置解析:读取XML或Java配置,解析出Bean的定义信息。 2. Bean的实例化:根据配置信息创建Bean...

    工厂模式的测试并有spring ioc的简单实现

    在Spring中,工厂模式可以与IoC容器结合使用,例如在【springFactory】和【springFactoryJDOM】的示例中,我们可能会看到如何使用Spring的Bean工厂来创建和管理对象。Spring提供了XML配置和注解两种方式来声明和管理...

    简单Spring容器实现

    - **Bean工厂(Bean Factory)**:Spring容器的基础实现,负责管理Bean的生命周期和配置,是DI的载体。 - **ApplicationContext**:Bean工厂的增强版,提供了更多企业级服务,如消息资源、国际化支持等。 2. **...

    简单模拟spring框架原理

    本篇将通过简单模拟Spring框架原理,帮助你深入理解这两个概念。 首先,我们要知道Spring是如何实现IoC的。IoC的核心思想是将对象的创建和管理权交给容器,而不是由对象自身负责。在Spring中,我们通过定义Bean ...

    详解如何在低版本的Spring中快速实现类似自动配置的功能

    2. **XxxAware接口**:如ApplicationContextAware和BeanFactoryAware,可以让我们获取到ApplicationContext或BeanFactory,从而在Bean中直接访问到整个应用上下文或Bean工厂,进行更深入的定制。 3. **@Autowired...

    动手写框架,模拟简易的SpringIOC.rar

    描述中的链接指向了CSDN博客的一个文章,虽然具体内容无法直接复制到这里,但我们可以根据文章标题推测,该文章详细介绍了如何从零开始构建一个简单的IOC容器,以此来模拟Spring框架的工作原理。通过这种方式,学习...

Global site tag (gtag.js) - Google Analytics