美文网首页
Bean的工厂创建方式

Bean的工厂创建方式

作者: 宿命99 | 来源:发表于2018-04-26 09:49 被阅读4次

使用工厂方式创建 Bean。
PersonBeanFactory

public class PersonBeanFactory implements FactoryBean<Person> {
    @Override
    public Person getObject() throws Exception {
        return new Person("工厂 Bean 的创建", 1);
    }

    @Override
    public Class<?> getObjectType() {
        return Person.class;
    }

    @Override
    public boolean isSingleton() {
        return true;
    }
}

getObject : 获取对象
getObjectType: 获取对象的类型
isSingleton: true 单实例 false:多实例

配置类

@Configuration
public class BeanFactoryConfig {

    @Bean
    public PersonBeanFactory personFactory() {
        return new PersonBeanFactory();
    }

}

测试代码

    @Test
    public void test8() {
        ApplicationContext ctx = new AnnotationConfigApplicationContext(BeanFactoryConfig.class);
        Object personFactory = ctx.getBean("personFactory");
        System.out.println(personFactory.getClass());
    }

查看 personFactory 的类型,可以判断它是 me.sjl.bean.Person 还是 me.sjl.bean.PersonBeanFactory

结果


Person对象

如果想要获取 工厂 Bean 的对象,使用 getBean("&personFactory") 方式 。加 & 字符

    @Test
    public void test8() {
        ApplicationContext ctx = new AnnotationConfigApplicationContext(BeanFactoryConfig.class);
        Object personFactory = ctx.getBean("&personFactory");
        System.out.println(personFactory.getClass());
    }
工厂对象本身

相关文章

  • spring详解(四)

    容器中的工厂Bean: 此处的工厂Bean与前面介绍的实例工厂方法创建Bean、静态工厂创建Bean有所区别: 前...

  • Bean的工厂创建方式

    使用工厂方式创建 Bean。PersonBeanFactory getObject : 获取对象getObject...

  • 设计模式---创建型

    设计模式创建型--5种 单例----创建线程安全类工厂----创建bean工厂抽象工厂----创建bean工厂的工...

  • Spring(一)基础概念

    容器相关概念 容器的主要作用是创建并管理bean 创建方式:通过反射技术,创建bean实例 底层创建的模式为:工厂...

  • 2. bean生命周期管理

    默认以饿汉式单例方式管理bean 修改为懒汉式单例方式管理bean 修改为非单例方式管理bean 配置工厂类与创建...

  • IOC-Bean对象以及常用属性

    一 IOC-Bean对象创建的三种方式 无参构造创建 静态工厂创建 实例工厂创建1 无参构造创建(默认是无参的) ...

  • Spring 静态工厂方法、实例工厂方法创建 Bean

    通过调用静态工厂方法创建 Bean 调用静态工厂方法创建 Bean 是将对象创建的过程封装到静态方法中,当客户端需...

  • 工厂方法配置 Bean

    通过静态工厂方法创建 Bean 调用静态工厂方法创建 Bean 是将对象创建的过程封装到静态方法中;当客户端需要对...

  • Spring入门

    Spring的Bean管理(XML方式) Bean实例化的三种方式 无参构造器的方式 静态工厂的方式 实例工厂的方...

  • FactoryAware的引用

    FactoryAware的引用 有些实例的创建可能是由其他类创建的例如 bean工厂创建bean的时候,就是通过B...

网友评论

      本文标题:Bean的工厂创建方式

      本文链接:https://www.haomeiwen.com/subject/fpbwcftx.html