码迷,mamicode.com
首页 > 其他好文 > 详细

007 FactoryBean

时间:2018-04-17 20:53:16      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:factor   test   类型   cto   cat   extc   实现   span   imp   

一. 概述

该接口的作用我们就不需要多说了,这是spring定义的一个标准的工厂接口.

下面我们来定义一下这个类.


 

二 . 测试

public class PersonFactoryBean implements FactoryBean<Person>{
    //通过该方法返回工厂创建的对象
    @Override
    public Person getObject() throws Exception {
        return new Person();
    }
    //工厂返回的对象的类型
    @Override
    public Class<?> getObjectType() {
        return Person.class;
    }
    //工厂生产的实例是否是单例模式的
    @Override
    public boolean isSingleton() {
        return true;
    }

}

实现工厂接口的Bean的定义.

配置类:

@Configuration
public class FactoryBeanConfig {
    
    @Bean
    public PersonFactoryBean person() {
        return  new PersonFactoryBean();
    }
}

测试类:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=FactoryBeanConfig.class)
public class FactoryBeanTest {
    @Autowired
    private ApplicationContext context;
    
    @Test
    public void test() {
        System.out.println(context.getBean("person"));
    }
}

我们发现我们虽然注册的是一个工厂,但是我们可以获取工厂的产品,

其实工厂Bean的作用就是获取产品.

007 FactoryBean

标签:factor   test   类型   cto   cat   extc   实现   span   imp   

原文地址:https://www.cnblogs.com/trekxu/p/8869694.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!