企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### 创建方式 ApplicationContext接口常用实现类 ``` 1. ClassPathXmlApplicationContext: 它是从类的根路径下加载配置文件 推荐使用这种 2. FileSystemXmlApplicationContext: 它是从磁盘路径上加载配置文件,配置文件可以在磁盘的任意位置。 3. AnnotationConfigApplicationContext: 当我们使用注解配置容器对象时,需要使用此类来创建 spring 容器。它用来读取注解 ``` Java应用中创建IoC容器:(了解) ``` ApplicationContext context = new ClassPathXmlApplicationContext(xml路径); ``` Web应用中创建IoC容器:(重点) ``` web.xml中配置ContextLoaderListener接口,并配置ContextConfigLocation参数 1. web容器启动之后加载web.xml,此时加载ContextLoaderListener监听器(实现了ServletContextListener接口,该接口的描述请见下面《三类八种监听器》) 2. ContextLoaderListener监听器会在web容器启动的时候,触发contextInitialized()方法。 3. contextInitialized()方法会调用initWebApplicationContext()方法,该方法负责创建Spring容器(DefaultListableBeanFactory)。 ``` Web三类八种监听器 ``` ***监听域对象的生命周期: *ServletContextListener: *创建:服务器启动 *销毁:服务器正常关闭 *spring ContextLoaderListener(服务器启动时负责加载Spring配置文件) *HttpSessionListener *创建:第一次访问request.getHttpSession(); *销毁:调用invalidate();非法关闭;过期 *ServletRequestListener *创建:每一次访问 *销毁:响应结束 ***监听域对象的属性:(添加、删除、替换) * ServletContextAttributeListener * HttpSessionAttributeListener * ServletRequestAttributeListener ***监听HttpSession中JavaBean的改变: * HttpSessionBindingListener(HttpSession和JavaBean对象的绑定和解绑) * HttpSessionActivationListener(HttpSession的序列化,活化、钝化) ```