Spring6(六)Factorybean实例化对象(2)完成上篇没有完成的任务

文章展示了如何创建一个Role类,然后利用Spring的FactoryBean接口创建RoleFactory,设置Sentence属性并在getObject方法中返回。在配置文件中,通过set注入将RoleFactory的bean注入到Rolebean中,最终在测试代码中获取并打印Role对象的Sentence属性。
摘要由CSDN通过智能技术生成

首先来个类

public class Role {
    private  String sentence;
    public void setSentence(String sentence) {
        this.sentence = sentence;
    }
     public void  shuchu(){
         System.out.println(sentence);
     }
}

目标:创建Role类,并且输出所需的Sentence,

然后构造Role的工厂类,实现FactoryBean接口,并且在这个类中填写我们要输入的Sentence

这个例子的关键点上表名  ---- 工厂类的辅助功能   我们要在工厂类中实际输入我要输入的语句

然后完成我们的工厂类

public class RoleFactory   implements FactoryBean<String> {

       private  String sentence;

    public void setSentence(String sentence) {
        this.sentence = sentence;
    }

    @Override
    public String getObject() throws Exception {
        return   sentence ;
    }
    @Override
    public Class<?> getObjectType() {
        return null;
    }
}

请注意 FactoryBean<String>这个泛型要填写我们实际要返回的值

然后我们要配置一下RoleFactory的bean

    <bean id="RoleFactoryBean" class="com.chenchen.dao.RoleFactory"  >
        <property name="sentence" value="04.24,和Sakura去东京天空树,世界上最暖和的地方在天空树的顶上"></property>
    </bean>

简单的set注入,注入值

然后写Role的bean

<bean id="RoelBean"  class="com.chenchen.dao.Role">
    <property name="sentence" ref="RoleFactoryBean"></property>
</bean>

也是set注入,外部bean的set注入。

请注意,这里的Role的bean写法与普通外部‘bean’没有什么区别,我们可以一直通过这种方式返回需要的类型,set注入需要的类型。

放过运行结果图

而且更重要的是  Test代码一点也不需要改变

public class TEST {
    @Test
    public void    RoleTest(){
         ApplicationContext  applicationContext  = new ClassPathXmlApplicationContext("spring.xml");
         Role role  = applicationContext.getBean("RoelBean",Role.class);
         role.shuchu();
        System.out.println(role);
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值