sping练习,在Eclipse搭建的Spring开发环境中,使用工厂方式创建Bean对象,将创建的Bean对象输出到控制台。
阅读原文时间:2022年01月18日阅读:1

相关 知识 >>>

相关 练习 >>>

在Eclipse搭建的Spring开发环境中,使用工厂方式创建Bean对象,将创建的Bean对象输出到控制台。要求如下:

  • 使用静态工厂创建Bean对象。
  • 使用动态工厂创建Bean对象。

在com.mhys.bean包下,创建Card类。

package com.mhys.bean;

public class Card {
    private String cardNo;

    public String getCardNo() {
        return cardNo;
    }

    public void setCardNo(String cardNo) {
        this.cardNo = cardNo;
    }

}

在com.mhys.bean包下,创建CardFactory工厂类,声明getInstance()方法。

package com.mhys.bean;

public class CardFactory {
    public Card getInstance(){
        System.out.println("使用动态方法创建Card实例");
        return new Card();
    }
}

在applicationContext.xml配置文件中,注册工厂类到容器。

    <!-- 动态工厂 -->
    <bean id="cardFactory" class="com.mhys.bean.CardFactory"></bean>
    <bean id="card" factory-bean="cardFactory" factory-method="getInstance"></bean>

在com.mhys.bean包下,创建Customer类、CustomerFactory工厂类。

package com.mhys.bean;

public class Customer {
    private String name;
    private Card card;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Card getCard() {
        return card;
    }
    public void setCard(Card card) {
        this.card = card;
    }

}


package com.mhys.bean;

public class CustomerFactory {
    public static Customer getInstance() {
        System.out.println("创建静态工厂方式创建Customer示例");
        return new Customer();
    }
}

在applicationContext.xml中注册工厂类到容器。

    <!-- 静态工厂 -->
    <bean id="customer" class="com.mhys.bean.CustomerFactory" factory-method="getInstance">
        <property name="name" value="王X"></property>
        <property name="card" ref="card"></property>
    </bean>

在com.mhys.test包下创建测试类完成测试。

package com.mhys.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.mhys.bean.Customer;

public class T1_2_3Test {

    public static void main(String[] args) {
        // 获取上下文
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        Customer customer = (Customer)context.getBean("customer");
        System.out.println(customer.getName()+"___________"+customer.getCard());

    }

}

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章