1、com.tz.util.ApplicationContextUtil.java
package com.tz.util; import org.springframework.context.ApplicationContext; /** * ApplicationContext工具类 * 创建人:LiPiaoShui * 时间:2015年12月18日-下午12:39:56 * @verson 1.0.0 */ public class ApplicationContextUtil { private static ApplicationContext appCtx; /** * 初始化ApplicationContext对象 * 方法名:init * 创建人:LiPiaoShui * 时间:2015年12月18日-下午12:43:26 * @param context * @return void * @since 1.0.0 */ public static void init(ApplicationContext context) { appCtx = context; } /** * 获取ApplicationContext对象 * 方法名:getApplicationContext * 创建人:LiPiaoShui * 时间:2015年12月18日-下午12:43:35 * @return * @return ApplicationContext * @since 1.0.0 */ public static ApplicationContext getApplicationContext() { return appCtx; } }
2、com.tz.core.InitDataContextListener.java
package com.tz.core; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import org.springframework.context.ApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; import com.tz.model.UserBean; import com.tz.util.ApplicationContextUtil; /** * 初始化系统数据的监听器 * 创建人:LiPiaoShui * 时间:2015年12月18日-下午12:37:34 * @version 1.0.0 */ public class InitDataContextListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent event) { // 通过WebApplicationContext获取ApplicationContext对象 ApplicationContext context = WebApplicationContextUtils .getWebApplicationContext(event.getServletContext()); UserBean userBean = (UserBean) context.getBean("userBean"); System.out.println("========="+userBean.getUsername()); // 设置ApplicationContext对象的值 ApplicationContextUtil.init(context); } @Override public void contextDestroyed(ServletContextEvent event) { } }
3、配置web.xml
<!-- 配置初始化系统数据的监听器 --> <listener> <listener-class>com.tz.core.InitDataContextListener</listener-class> </listener>
相关推荐
`JarLauncher` 是 Spring Boot 加载器的一部分,它负责初始化和执行实际的应用程序。这个加载器是 Spring Boot Maven 插件生成的 `fatjar` 中的关键组件,`fatjar` 包含了所有依赖库和应用代码。加载器的作用是处理...
然而,静态加载这些文件意味着在应用程序启动时读取并加载这些配置,如果后期需要更改配置,必须重启应用才能生效。为了解决这个问题,动态加载属性文件应运而生。它允许程序在运行时根据需要读取和更新配置,提高了...
在构建现代化的Web应用程序时,Spring框架是许多开发者的首选,特别是它的子项目Spring Boot,它简化了配置和启动过程,使得开发更加高效。本文将深入探讨如何利用Spring MVC、Thymeleaf模板引擎、H2内存数据库、...
这种策略能够有效地减少应用程序启动时的内存占用,提高系统的性能。 在Hibernate中,延迟加载主要用于关联对象的加载,例如一对多或多对多的关系。默认情况下,当Hibernate查询一个实体时,会同时加载与该实体相关...
通过使用`@SpringBootTest`、`@RunWith`、`@MockBean`等注解,以及与Mockito等第三方库的集成,我们可以有效地进行单元测试和集成测试,确保Spring应用程序的稳定性和可靠性。在进行Spring项目开发时,熟练掌握...
1. **Spring Test Framework**:Spring Test模块为Spring应用程序提供了一个统一的测试平台,它包括了`@RunWith(SpringRunner.class)`注解,允许JUnit测试类利用Spring的IoC容器进行初始化。通过这个注解,你可以将...
2. **Suspense 组件**:Suspense组件允许在组件加载时显示占位符或加载指示器,提高了用户体验,尤其是在处理异步数据或大型组件时。 3. ** teleport 组件**:Teleport 提供了一种将内容渲染到页面上的其他位置,...
【Fastjson 反序列化与 Spring 内存马注入】 Fastjson 是阿里巴巴开发的一个高性能...防范这种攻击的关键在于:避免使用易受攻击的 Fastjson 版本,对 JSON 输入进行严格的输入验证,以及限制应用程序的动态注册行为。
在描述中提到,Spring Boot的目标是简化新Spring应用的搭建和开发。它通过自动配置和起步依赖,使得开发者可以专注于业务逻辑,而不是环境配置。例如,如果你想添加数据库支持,只需要在pom.xml或build.gradle中加入...
2. **Web模块**:Spring Modules的Web模块加强了Spring对Web应用程序的支持,包括对Struts、Tiles等Web框架的集成,使得Spring在Web开发中的应用更加广泛和灵活。 3. **Security模块**:这个模块提供了安全控制和...
Spring Boot Actuator 是 Spring Boot 自带的一个模块,提供了许多用于监控和管理应用程序的端点,这些端点可以通过 Spring Boot Admin 进行访问和展示。 5. **源码分析**:在提供的压缩包 `springcloud-test` 中,...
Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,用于Java应用程序。它提供了全面的安全解决方案,包括用户认证、权限授权、会话管理、CSRF防护以及基于HTTP的访问控制。在这个例子中,我们将...
Spring Boot 是一个由 Pivotal Team 开发的 Java 框架,用于简化Spring应用程序的初始搭建以及开发过程。这个框架旨在使创建独立的、生产级别的基于Spring的应用程序变得更为简单,同时也提供了一种默认配置,以减少...
1. **性能优化**:3.2.5 版本对核心容器进行了性能优化,提高了初始化速度和内存利用率,使得应用启动更快,运行更轻量。 2. **新特性**:引入了对 Java 7 的全面支持,包括新的类型推断和多线程 API 的改进,增强...
它提供了大量的默认配置,能够帮助开发者快速启动和运行应用程序。Spring Boot通过自动配置、起步依赖以及运行时监控等特性,让开发者能够更加专注于业务逻辑的编写,而不是底层的配置和部署。 本文件提到的...
两者在实际开发中经常结合使用,Spring作为应用程序的基础框架,Dubbo作为服务化组件,提供服务治理的能力。 从Dubbo的启动过程来看,我们可以深入理解它们之间的关系。首先,当我们使用Spring来启动一个包含Dubbo...
4.3.6版本对DI进行了优化,提升了容器启动速度和内存使用效率。 2. Core:提供了基础的IoC(Inversion of Control,控制反转)服务,如BeanFactory和ApplicationContext,使得对象之间的关系不再硬编码,提高了代码...
传统的Java应用程序在启动时,由JVM(Java虚拟机)通过类加载器将类加载到内存中,一旦加载完成,除非程序退出,否则这些类通常不会被重新加载。然而,在开发过程中,我们可能希望在不重启应用的情况下,对已加载的...
4. **Spring Boot**: 快速启动和配置Spring应用,简化初始设置。 5. **Spring Data**: 提供对数据库操作的便捷支持,如JPA、MyBatis集成。 6. **Spring Security**: 安全管理,包括身份验证、授权、会话管理等。 7. ...
在Spring应用中,监听器可以通过实现特定接口或者通过配置XML来定义,它们能够帮助开发者在应用程序的生命周期中执行特定的任务,例如初始化、销毁bean,或者监控应用状态等。以下是关于Spring监听器的详细知识点: ...