一 .spring容器
我们先来了解一些spring 中的关键词spring 的IOC容器, XML配置文件 ,@Configuration, @Bean ,javaConfig , Annotation。
以前的java spring开发中 许多关于文件配置的相关信息都存放在xml文件中。文件的一些作用在笔记一中有提起。注册bean(声明需要收集资源),收集bean(收集资源),分析bean(分析资源中的依赖关系),还有组装bean(按什么方法给组件返回资源) 。与之相对应的后期我们大多使用javaConfig 这种方式 即通过Annotation(@关键字)的方式来进行配置 与xml文件相对应的便有@Configuration 配置类.
IOC容器:常常用到的代码
//创建spring ioc对象
//ApplicationContext 代表IOC容器
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
spring 提供了有两种类型的IOC容器实现
第一种
BeanFactory(IOC容器的基本实现):BeanFactory是Spring框架的基础设施,面向Spring本身;
第二种
ApplicationContext(提供了更多的高级特性,是BeanFactory的子接口)ApplicationContext面向使用Spring框架的开发者
几乎所有的应用场合都直接使用ApplicationContext而非底层的BeanFactory。
ApplicationContext的主要实现类有两个
一个是ClassPathXmlApplicationContext类,另一个是FileSystemXmlApplicationContext
ClassPathXmlApplicationContext:从类路径下加载配置文件,该实现类扩展于ApplicationContext,新增加了两个主要方法:refresh()和close(),让ApplicationContext具有启动、刷新和关闭上下文的能力。(上下文具体指的是资源所在路劲)。ApplicationContext在初始化上下文时就实例化所有单例的Bean。WebApplicationContext是专门为WEB应用而准备的,它允许从相对于WEB根目录的路径中完成初始化工作。
FileSystemXmlApplicationContext:从文件系统中加载配置文件。