极速版
package step1;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Task {
public void getCar(){
/********** Begin **********/
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext1.xml");
Car car = (Car) applicationContext.getBean("car");
car.run();
/********** End **********/
}
}
以下题目
任务描述
本关任务:使用 Spring 封装的容器加载对象。
相关知识
简单来说,Spring 是一个分层的 JavaSE/EE full-stack (一站式) 轻量级开源框架。它是为了解决企业应用开发的复杂性而创建的,Spring 它是使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。
下面我们一起来学习 Spring 框架是如何获取对象的。
使用 Spring 封装的容器获取 bean 对象
我们可以通过 Spring 提供的 IOC 容器获取 bean 对象,Spring 提供了 BeanFactory 和 ApplicationContext 二个容器,通常情况都是使用 ApplicationContext。
ApplicationContext 有二个主要实现类:
ClassPathXmlApplicationContext:从类路径下加载配置文件
FileSystemXmlApplicationContext:从文件系统中加载配置文件
一般我们使用 ClassPathXmlApplicationContext 比较方便,再调用 ApplicationContext 的 getBean() 方法则可获取对象了:
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
User user = (User) applicationContext.getBean("user");
}
applicationContext.xml 文件配置如下:
<bean id="user" name="user" class="com.entity.User"></bean>
<!--注意:class路径必须为类的全路径-->
配置 bean 时 id 和 name 的区别
id 约束保证这个属性的值是唯一的,而且必须以字母开始,可以使用字母、数字、连字符、下划线、句话、冒号。name 没有这些要求。如果 bean 标签上没有配置 id,那么 name 可以作为 id。
编程要求
根据提示,在右侧编辑器补充代码,使用 Spring 提供的容器调用 Car 类 run() 方法,在右侧文件夹中可查看 Car 类。
测试说明
平台会对你编写的代码进行测试:
预期输出:开车了,滴滴滴~
提示:配置文件为 applicationContext1.xml,可在右侧文件夹中查看。