采用Spring配置文件管理Bean(2)

文章介绍了如何在Spring框架中使用构造方法注入来设置Bean的属性值。首先创建了救美任务和救美骑士类,接着编写了测试类以传统方式执行任务。然后在Spring配置文件中配置了Bean,最后通过Spring容器进行测试,展示了解耦合的特性。
摘要由CSDN通过智能技术生成

一、采用构造方法注入方式注入属性值

1、创建救美任务类
  • net.xxt.spring.day01包里创建RescueDamselQuest

在这里插入图片描述

package net.xxr.spring.day01;

/**
 * 功能:救美任务类
 */
public class RescueDamselQuest {
    public void embark() {
        System.out.println("执行救美任务……");
    }
}


2、创建救美骑士类
  • net.xxr.spring.day01包里创建RescueDamselKnight
    在这里插入图片描述
package net.xxr.spring.day01;


/**
 * 功能:救美骑士类
 */
public class RescueDamselKnight {
    private String name; // 骑士姓名
    private RescueDamselQuest rescueDamselQuest; // 救美任务

    /**
     * 有参构造方法
     *
     * @param name
     * @param rescueDamselQuest
     */
    public RescueDamselKnight(String name, RescueDamselQuest rescueDamselQuest) {
        this.name = name;
        this.rescueDamselQuest = rescueDamselQuest;
    }

    public void embarkOnQuest() {
        System.out.print("救美骑士[" + name + "]");
        rescueDamselQuest.embark();
    }
}


3、创建旧救美骑士测试类
  • test/java/net.xxr.spring.day01包里创建TestRescueDamselKnightOld
    在这里插入图片描述
package net.xxr.spring.day01;


import org.junit.Test;

/**
 * 功能:采用传统方式测试救美骑士类
 */
public class TestRescueDamselKnightOld {
    @Test
    public void testRescueDamselKnight() {
        // 创建救美任务对象
        RescueDamselQuest rescueDamselQuest = new RescueDamselQuest();
        // 创建救美骑士对象
        RescueDamselKnight rescueDamselKnight = new RescueDamselKnight("格拉海德", rescueDamselQuest);
        // 救美骑士执行任务
        rescueDamselKnight.embarkOnQuest();
    }
}


  • 运行方法,查看结果
    在这里插入图片描述
4、配置救美骑士Bean
  • 在Spring配置文件里配置救美骑士Bean
<!--配置救美任务Bean-->
    <bean id="rescueDamselQuest" class="net.xxr.spring.day01.RescueDamselQuest"/>

    <!--配置救美骑士Bean-->
    <bean id="rescueDamselKnight" class="net.xxr.spring.day01.RescueDamselKnight">
        <constructor-arg value="格拉海德"/>
        <constructor-arg ref="rescueDamselQuest"/>
    </bean>
5、创建新救美骑士测试类
  • test/java/net.xxr.spring.day01包里创建TestRescueDamselKnightNew
    在这里插入图片描述
package net.xxr.spring.day01;


import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * 功能:采用Spring容器测试救美骑士类
 */
public class TestRescueDamselKnightNew {
    private ClassPathXmlApplicationContext context; // 基于类路径XML配置文件的应用容器(Bean工厂)

    @Before // 每次测试方法执行前都要执行的代码就放在此方法里
    public void init() {
        // 基于Spring配置文件创建应用容器
        context = new ClassPathXmlApplicationContext("xmlconfig/spring-config.xml");
        // 提示用户
        System.out.println("Spring应用容器已创建~");
    }

    @Test
    public void testRescueDamselKnight() {
        // 根据名称从应用容器中获取救美骑士对象
        RescueDamselKnight rescueDamselKnight = (RescueDamselKnight) context.getBean("rescueDamselKnight");
        // 救美骑士执行任务
        rescueDamselKnight.embarkOnQuest();
    }

    @After // 每次测试方法执行后都要执行的代码就放在此方法里
    public void destroy() {
        // 关闭应用容器
        context.close();
        // 提示用户
        System.out.println("Spring应用容器已关闭~");
    }
}


  • 运行方法,查看效果
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值