博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring搭建环境与实例化容器
阅读量:4102 次
发布时间:2019-05-25

本文共 1779 字,大约阅读时间需要 5 分钟。

加载依赖jar包
把以下jar包加入到工程的classpath下:
Maven项目(在pom.xml中配置依赖)
org.springframework
spring-context
4.3.13.RELEASE
创建spring核心文件(spring.xml)
在xml文件中通过bean节点来配置bean
id:Bean的名称。
在IOC容器中必须是唯一的
若id没有指定,默认的名字是类名#编号
id可以指定多个名称,名字之间可用逗号、分号或空格分隔。
class:类的路径
spring容器
在Spring IOC容器读取Bean配置创建Bean实例之前,必须对它进行实例化,只有在容器实例化后,才可以从IOC容器里获取Bean实例并使用
Spring提供了两种类型的IOC容器实现。
BeanFactory:IOC容器的基本实现。
ApplicationContext:提供了更多的高级特性,是BeanFactory的子接口。
BeanFactory是spring框架的基础设施,面向Spring本身;ApplicationContext面向使用Spring框架的开发者,几乎所有的应用场合都直接使用ApplicationContext而非底层的BeanFactory
无论使用何种方式,配置文件时相同的。
ApplicationContext的主要实现类:
ClassPathXmlApplicationContext:从 类路径下 加载配置文件
FileSystemXmlApplicationContext:从文件系统中加载配置文件
ConfigurableApplicationContext扩展与ApplicationContext,新增加两个主要方法:refresh()和close(),让ApplicationContext具有启动、刷新和关闭上下文的能力
ApplicationContext在初始化上下文时就实例化所有单例的Bean
WebApplicationContext是专门为WEB应用而准备的,它允许从相对于WEB根目录的路径中完成初始化gong
就近原则   所有ApplicationContext指令  都支持  字符串定义查找方式
classpath:从类路径下查找
file:从文件路径下查找
获取bean的实例(ClassPathXmlApplicationContext)
public static void main(String[] args) {	//创建spring的IOC容器	ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");	/*	 * 	通过类获取bean的实例  当容器中有多个A的bean便会报错,所以使用bean的名称获取可以避免。	 * 	因为bean的名称是唯一的,不可重复	 *	 A a = (A)context.getBean(A.class);	 */	//从IOC容器中获取bean的实例   通过bean的名称获取bean的实例	A a = (A)context.getBean("a");	System.out.println(a);}
FileSystemXmlApplicationContext 
public static void main(String[] args) {	//创建spring的IOC容器	FileSystemXmlApplicationContext context = new FileSystemXmlApplicationContext("classpath:spring.xml");	//从IOC容器中获取bean的实例   通过bean的名称获取bean的实例	A a = (A)context.getBean("a");	System.out.println(a);}
你可能感兴趣的文章
上古语言从入门到精通:COBOL 教程登上 GitHub 热榜
查看>>
再见,Eclipse...
查看>>
如果你还不了解 RTC,那我强烈建议你看看这个!
查看>>
沙雕程序员在无聊的时候,都搞出了哪些好玩的小玩意...
查看>>
程序员用 AI 修复百年前的老北京视频后,火了!
查看>>
漫话:为什么你下载小电影的时候进度总是卡在 99% 就不动了?
查看>>
我去!原来大神都是这样玩转「多线程与高并发」的...
查看>>
当你无聊时,可以玩玩 GitHub 上这个开源项目...
查看>>
B 站爆红的数学视频,竟是用这个 Python 开源项目做的!
查看>>
安利 10 个让你爽到爆的 IDEA 必备插件!
查看>>
自学编程的八大误区!克服它!
查看>>
GitHub 上的一个开源项目,可快速生成一款属于自己的手写字体!
查看>>
早知道这些免费 API,我就可以不用到处爬数据了!
查看>>
Java各种集合类的合并(数组、List、Set、Map)
查看>>
JS中各种数组遍历方式的性能对比
查看>>
Mysql复制表以及复制数据库
查看>>
进程管理(一)
查看>>
linux 内核—进程的地址空间(1)
查看>>
存储器管理(二)
查看>>
开局一张图,学一学项目管理神器Maven!
查看>>