`

如何在启动Spring应用程序时对内存等数据进行加载

阅读更多

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>

 

 

分享到:
评论

相关推荐

    spring boot应用启动原理分析.docx

    `JarLauncher` 是 Spring Boot 加载器的一部分,它负责初始化和执行实际的应用程序。这个加载器是 Spring Boot Maven 插件生成的 `fatjar` 中的关键组件,`fatjar` 包含了所有依赖库和应用代码。加载器的作用是处理...

    动态加载属性文件与SpringQuartz的应用

    然而,静态加载这些文件意味着在应用程序启动时读取并加载这些配置,如果后期需要更改配置,必须重启应用才能生效。为了解决这个问题,动态加载属性文件应运而生。它允许程序在运行时根据需要读取和更新配置,提高了...

    为Spring mvc、Thymelaaf模板引擎、H2数据库、Lombok和消息传递Spring Boot应用程序

    在构建现代化的Web应用程序时,Spring框架是许多开发者的首选,特别是它的子项目Spring Boot,它简化了配置和启动过程,使得开发更加高效。本文将深入探讨如何利用Spring MVC、Thymeleaf模板引擎、H2内存数据库、...

    Hibernate延迟加载以及利用Spring

    这种策略能够有效地减少应用程序启动时的内存占用,提高系统的性能。 在Hibernate中,延迟加载主要用于关联对象的加载,例如一对多或多对多的关系。默认情况下,当Hibernate查询一个实体时,会同时加载与该实体相关...

    spring test

    通过使用`@SpringBootTest`、`@RunWith`、`@MockBean`等注解,以及与Mockito等第三方库的集成,我们可以有效地进行单元测试和集成测试,确保Spring应用程序的稳定性和可靠性。在进行Spring项目开发时,熟练掌握...

    Spring中进行集成测试

    1. **Spring Test Framework**:Spring Test模块为Spring应用程序提供了一个统一的测试平台,它包括了`@RunWith(SpringRunner.class)`注解,允许JUnit测试类利用Spring的IoC容器进行初始化。通过这个注解,你可以将...

    Wall是一款快速分享资源应用程序。基于Vue3 + Spring Boot开发的云共享资源应用系统。.zip

    2. **Suspense 组件**:Suspense组件允许在组件加载时显示占位符或加载指示器,提高了用户体验,尤其是在处理异步数据或大型组件时。 3. ** teleport 组件**:Teleport 提供了一种将内容渲染到页面上的其他位置,...

    利用 Fastjson 注入 Spring 内存马,太秀了~!(csdn)————程序.pdf

    【Fastjson 反序列化与 Spring 内存马注入】 Fastjson 是阿里巴巴开发的一个高性能...防范这种攻击的关键在于:避免使用易受攻击的 Fastjson 版本,对 JSON 输入进行严格的输入验证,以及限制应用程序的动态注册行为。

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程 该框架

    在描述中提到,Spring Boot的目标是简化新Spring应用的搭建和开发。它通过自动配置和起步依赖,使得开发者可以专注于业务逻辑,而不是环境配置。例如,如果你想添加数据库支持,只需要在pom.xml或build.gradle中加入...

    spring-modules-0.8

    2. **Web模块**:Spring Modules的Web模块加强了Spring对Web应用程序的支持,包括对Struts、Tiles等Web框架的集成,使得Spring在Web开发中的应用更加广泛和灵活。 3. **Security模块**:这个模块提供了安全控制和...

    spring boot admin demo 源码 java 服务器 监控

    Spring Boot Actuator 是 Spring Boot 自带的一个模块,提供了许多用于监控和管理应用程序的端点,这些端点可以通过 Spring Boot Admin 进行访问和展示。 5. **源码分析**:在提供的压缩包 `springcloud-test` 中,...

    Spring security认证授权

    Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,用于Java应用程序。它提供了全面的安全解决方案,包括用户认证、权限授权、会话管理、CSRF防护以及基于HTTP的访问控制。在这个例子中,我们将...

    Spring-Boot-Demo.zip

    Spring Boot 是一个由 Pivotal Team 开发的 Java 框架,用于简化Spring应用程序的初始搭建以及开发过程。这个框架旨在使创建独立的、生产级别的基于Spring的应用程序变得更为简单,同时也提供了一种默认配置,以减少...

    spring-core3.2.5集合包

    1. **性能优化**:3.2.5 版本对核心容器进行了性能优化,提高了初始化速度和内存利用率,使得应用启动更快,运行更轻量。 2. **新特性**:引入了对 Java 7 的全面支持,包括新的类型推断和多线程 API 的改进,增强...

    learning spring boot

    它提供了大量的默认配置,能够帮助开发者快速启动和运行应用程序。Spring Boot通过自动配置、起步依赖以及运行时监控等特性,让开发者能够更加专注于业务逻辑的编写,而不是底层的配置和部署。 本文件提到的...

    从Dubbo启动看Dubbo和Spring的关系1

    两者在实际开发中经常结合使用,Spring作为应用程序的基础框架,Dubbo作为服务化组件,提供服务治理的能力。 从Dubbo的启动过程来看,我们可以深入理解它们之间的关系。首先,当我们使用Spring来启动一个包含Dubbo...

    spring-framework-4.3.6.RELEASE.rar

    4.3.6版本对DI进行了优化,提升了容器启动速度和内存使用效率。 2. Core:提供了基础的IoC(Inversion of Control,控制反转)服务,如BeanFactory和ApplicationContext,使得对象之间的关系不再硬编码,提高了代码...

    Java之——类热加载

    传统的Java应用程序在启动时,由JVM(Java虚拟机)通过类加载器将类加载到内存中,一旦加载完成,除非程序退出,否则这些类通常不会被重新加载。然而,在开发过程中,我们可能希望在不重启应用的情况下,对已加载的...

    JAVA+SPRING全掌握

    4. **Spring Boot**: 快速启动和配置Spring应用,简化初始设置。 5. **Spring Data**: 提供对数据库操作的便捷支持,如JPA、MyBatis集成。 6. **Spring Security**: 安全管理,包括身份验证、授权、会话管理等。 7. ...

    spring监听器共20页.pdf.zip

    在Spring应用中,监听器可以通过实现特定接口或者通过配置XML来定义,它们能够帮助开发者在应用程序的生命周期中执行特定的任务,例如初始化、销毁bean,或者监控应用状态等。以下是关于Spring监听器的详细知识点: ...

Global site tag (gtag.js) - Google Analytics