-
Spring获取ApplicationContext应用上下文实例的方式
-
ClassPathXmlApplication(从类路径下的XML配置文件中加载),把应用上下文定义文件当做类资源
-
ApplicationContext ctx = new ClassPathXmlApplication("com/lzx/context/beans.xml")
-
FileSystemXmlApplicationContext --- 读取文件系统下的XML配置文件并加载上下文定义
ApplicationContext ctx = new FileSystemXmlApplicationContext("d:/com/lzx/context/beans.xml")
-
XmlWebApplicationContext --- 读取文件系统下的XML配置文件并加载上下文定义
-
Bean的生命周期
-
装配Bean
-
装配
-
指创建应用对象之间协作关系的行为,这也是依赖注入的本质
-
Spring通过配置文件的方式定义Bean以及Bean与Bean之间的以来
-
Spring的ApplicationContext应用上下文通过加载并解析该配置文件,完成Bean装配工作
-
-
装配方式
-
基于XML配置
-
基于注解配置
-
基于Java类配置
-
-
在加载配置文件的时候会加载Bean类
-
在生命周期之间一直存在
-
效率高但是内存占用多
-
-
-
在Spring容器之中,所有的Bean默认都是单例
作用域 | 定义 |
singleton | 在每一个Spring容器之中,一个Bean定义只有一个对象实例(默认) |
prototype | 允许Bean的定义可以被实例化任意次(每次调用都创建一个实例) |
request | 在一次Http请求之中,每个Bean定义对应一个实例,该作用域仅在基于Web的Spring上下文(例如SpringMVC)中才有效 |
session | 在一个HTTP Session中,每个Bean定义对应一个实例,该作用域仅在基于Web的Spring上下文(例如SpringMVC)中才有效 |
global-session | 在一个全局的Http Session中,容器会返回该Bean的同一个实例,仅在使用portlet context时有效。 |