spring学习笔记1-spring Ioc容器-ApplicationContext容器 - Go语言中文社区

spring学习笔记1-spring Ioc容器-ApplicationContext容器


spring学习笔记1-spring Ioc容器-ApplicationContext容器

spring ApplicationContext容器

Application Context 是 BeanFactory 的子接口,也被成为 Spring 上下文。
Application Context 是 spring 中较高级的容器。和 BeanFactory 类似,它可以加载配置文件中定义的 bean,将所有的 bean 集中在一起,当有请求的时候分配 bean。ApplicationContext 包含 BeanFactory 所有的功能,一般情况下,相对于 BeanFactory,ApplicationContext 会更加优秀。当然,BeanFactory 仍可以在轻量级应用中使用,比如移动设备或者基于 applet 的应用程序。

最常被使用的 ApplicationContext 接口实现:

  • FileSystemXmlApplicationContext:该容器从 XML 文件中加载已被定义的 bean。在这里,你需要提供给构造器 XML 文件的完整路径。

  • ClassPathXmlApplicationContext:该容器从 XML 文件中加载已被定义的 bean。在这里,你不需要提供 XML 文件的完整路径,只需正确配置 CLASSPATH 环境变量即可,因为,容器会从 CLASSPATH 中搜索 bean 配置文件。

  • WebXmlApplicationContext:该容器会在一个 web 应用程序的范围内加载在 XML 文件中已被定义的 bean。

下面是我通过FileSystemXmlApplicationContext容器来获取bean的一个具体操作过程,和通过BeanFactory容器获取的操作类似:

  1. 创建一个名为IocTest的Java工程
  2. 在工程中导入spring库文件。
  3. 在src下创建名为org.TestIoc02的包,在包下创建两个class文件,分别是TestIoc02.java和Tstudent.java
  4. 在src下创建名为Beans.xml的Bean配置文件

下面是文件TestIoc02.java的内容

package org.TestIoc02;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

public class TestIoc02 {
	public static void main(String[] args) {
		ApplicationContext context = new FileSystemXmlApplicationContext
				("D:\eclipse-workspace\IocTest\src\Beans.xml");
		Tstudent student = (Tstudent)context.getBean("Tstudent02");
		student.test();
	}
}

下面是文件Tstudent.java的内容

package org.TestIoc02;

public class Tstudent {
	private String IocInfo;
	public void setIocInfo(String iocInfo) {
		IocInfo = iocInfo;
	}
	
	public void test() {
		System.out.println("this is ioc test! By using "+IocInfo);
	}
}

下面是文件Beans.xml的内容

<?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="Tstudent02" class="org.TestIoc02.Tstudent">
			<property name="iocInfo" value="ApplicationContext"></property>
	</bean>
</beans>

下面是输出结果
在这里插入图片描述

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_43942512/article/details/100119289
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢