Spring IOC容器与 Bean 管理 第2关:Bean 的实例化方式


任务描述

IOC容器读取Bean配置文件创建Bean实例之前,必须对它进行实例化(加载启动),这样才可以从容器中获取Bean的实例并使用。

本关任务:修改博客系统中User类获取正确输出。

相关知识

为了完成本关任务,你需要掌握Bean实例化的方式。

Bean实例化的方式

Bean的实例化有三种实现方式,第一种是使用类的无参数构造创建,第二种是使用静态工厂创建,第三种是使用实例工厂创建,第二种和第三种方式使用的人已经很少了,这里我们主要介绍第一种;

无参数的构造方法(默认方法)

    在Educoder包下创建User类,并创建无参构造函数。
package Educoder; public class User { public User(){} }
    在配置文件中配置如下
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 关键部分 --> <bean id="user" class="Educoder.User"></bean> </beans>

这样我们就创建了一个id为user的Bean,之后就可以在项目中任意位置通过容器的getBean方法进行访问User类。

编程要求

请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内修改User类代码,获取正确输出,使构造方法输出我是默认的无参构造方法,addUser方法输出增加用户,后台会自动创建IOC容器对象获取User类实例并调用addUser方法。

测试说明

补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。

预期输出:

我是默认的无参构造方法 增加用户

参考代码

package educoder;
import org.springframework.stereotype.Component;
public class User {
	//请在以下提示框内修改代码
    /**********Begin**********/
    public User(){
	System.out.println("我是默认的无参构造方法");
    }
    /**********End**********/
	public void addUser() {
		System.out.println("增加用户");
	}
}
经验分享 程序员 微信小程序 职场和发展