`

Spring初始化,通过加载类来加载配置文件properties

阅读更多

首先是web.xml

 

	<!-- 加载properties文件 -->
	<context-param>
		<param-name>sysConfigLocation</param-name>
		<param-value>classpath:WEB-INF/classes/META-INF/app_config/properties/sysConfig.properties.xml</param-value>
	</context-param>


	<!-- 配置监听器,指定到要初始化的类 -->
	<listener>
		<listener-class>com.taikang.udp.common.webapp.listener.StartupListener</listener-class>
	</listener>

 

 

StartupListener.java

package com.ssh.service;

import java.util.List;

import javax.annotation.Resource;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import org.springframework.stereotype.Service;
import org.apache.commons.configuration.Configuration

import com.ssh.dao.StudentDao;
import com.ssh.entity.Student;

@Service
public class StartupListener implements ServletContextListener {

	public static String SYS_CONFIG_LOCATION = "sysConfigLocation";

	@Override
	public void contextInitialized(ServletContextEvent event) {
		logger.info("Initializing context...");
		//获取路径
		String sysConfigLocation = event.getServletContext().getInitParameter(SYS_CONFIG_LOCATION);
		try {
			logger.info("开始初始化...");
			//读取成Configuration配置文件对象
			Configuration config = new propertiesConfiguration(sysConfigLocation);
			//实例化VO
			initSysConfig(config);
			logger.info("结束初始化...");
		} catch (Exception e) {
			logger.info("初始化异常...");
		}
	}

	@Override
	public void contextDestroyed(ServletContextEvent event) {
		logger.info("Destroy context...");
		
	}
	
	public void initSysConfig(Configuration config){
		SysConfig sysConfig = SysConfig.getInstance();
		sysConfig.setGloable_model(config.getString("gloable.model"));
		sysConfig.setMq_host_name(config.getString("mq.host.name"));
//		...
		
	}
}

 

 

 

sysconfig.properties

 

gloable.model=debug
include = sysconfig-${gloable.model}.properties

jdbc.dialect=db2

mq.host.os=OS400
mq.reply.message.unicode=IBM935

 

 

sysconfig-debug.properties

 

mq.host.name=10.137.1.1
mq.ccsid=1388
#...

 

 

 

分享到:
评论

相关推荐

    Spring动态加载配置文件

    在Spring框架中,动态加载配置文件是一项重要的...总的来说,Spring动态加载配置文件涉及到IoC容器、属性源、配置加载策略和刷新机制等多个方面。理解和掌握这些知识点,可以帮助我们构建更加灵活和适应性强的应用。

    让spring加载自己的properties配置文件,在代码中获得配置信息

    加载配置文件后,我们可以通过`@Value`注解或`Environment`接口来获取配置信息: 1. **@Value注解**:可以直接在字段或方法参数上使用`@Value`注解,Spring会自动注入对应的值。例如: ```java @Component ...

    在非spring注解类中使用spring容器中的bean_普通类中使用yml配置文件中的配置信息

    然而,在某些情况下,我们可能需要在非Spring注解的类中访问Spring容器中的Bean,或者在这些类中使用YAML配置文件中的配置信息。本篇将详细介绍如何在这样的场景下实现这一目标。 首先,让我们来理解如何在非Spring...

    spring读取配置文件

    这两个类都是Spring用于创建应用上下文的实现,主要用来加载XML配置文件并初始化Spring容器。 1. `ClassPathXmlApplicationContext`:此上下文主要用于加载类路径(classpath)下的XML配置文件。这意味着配置文件应...

    Spring配置文件集合

    它是Spring整合数据访问层的关键,通过Properties类加载后,Spring可以方便地管理数据库连接。 2. `config.properties`: 一般用来存放应用的全局配置参数,比如系统常量、服务地址等。这些参数可以在运行时被Spring...

    用enum实现单例模式的方法来读取配置文件

    // 加载配置文件 properties = new Properties(); try { properties.load(ClassLoader.getSystemResourceAsStream("config.properties")); } catch (IOException e) { e.printStackTrace(); } } public ...

    Spring PropertyPlaceholderConfigurer配置文件加载器集成ZooKeeper来实现远程配置读取

    以上就是关于"Spring PropertyPlaceholderConfigurer配置文件加载器集成ZooKeeper来实现远程配置读取"的详细解释,涵盖了Spring的配置处理、ZooKeeper的使用以及两者结合的实现过程。理解并掌握这一技术,有助于提升...

    SpringBoot第 5 讲:SpringBoot+properties配置文件读取

    SpringBoot加载配置文件的顺序是:命令行参数 &gt; 系统属性 &gt; `@PropertySource` &gt; `application.yml`/`application.properties`(根据profile) &gt; `bootstrap.yml`/`bootstrap.properties`。注意,`bootstrap....

    Spring@PropertySource 配置文件自定义加密、自定义Yaml文件加载

    1. **配置加载顺序**:Spring加载配置文件时有默认的顺序,如果你同时使用了加密的.properties和YAML配置,需要合理安排加载顺序,以保证依赖关系正确。 2. **自定义`ApplicationContextInitializer`**:如果你需要...

    Spring Boot的properties配置文件读取

    加载配置文件时,Spring Boot还提供了一些内置的配置源。例如RandomValuePropertySourceaddToEnvironment方法会向环境中添加一些随机值属性,这在需要为应用生成随机令牌或密钥时非常有用。加载过程不仅仅是读取配置...

    Spring 3.1配置文件示例(备忘)

    Spring 3.1 配置文件是 Spring 框架的核心组成部分,用于定义应用程序的组件、依赖关系和服务。这篇备忘录将深入探讨 `applicationContext.xml` 文件在 Spring 3.1 中的角色、结构和常见配置元素。我们将讨论如何...

    Spring Boot读取配置文件常用方式

    可以创建针对不同环境(如`dev`, `test`, `prod`)的配置文件,如`application-dev.properties`,并在启动时通过`--spring.profiles.active`指定当前环境。 9. **自动配置** Spring Boot的自动配置特性可以根据类...

    Spring Bean 加载顺序 .

    Spring支持多种配置方式,包括XML、Java配置类(@Configuration)、注解(@Component、@Service等)以及通过@ConfigurationProperties处理YAML或Properties文件。在实验小例子中,我们可能看到这几种配置方式的组合...

    【戏说Spring Boot】Spring Boot初始化器解析

    首先,让我们来看第一种定义初始化器的方式:通过`spring.factories`文件。在`resource`目录下的`META-INF/spring.factories`文件中,我们可以添加自定义的初始化器类,使其在Spring Boot启动时被自动加载和注册。...

    在Spring Boot中加载初始化数据的实现

    在Spring Boot中加载初始化数据的实现 在Spring Boot中加载初始化数据是指在应用程序启动时加载初始数据到数据库中,这是非常重要的一步,因为初始数据往往是应用程序的基础数据。下面将详细介绍在Spring Boot中...

    使用xDoclet自动生成Spring的bean的配置文件

    5. **整合到Spring**:生成的XML配置文件可以被Spring容器加载,作为bean的定义,使得Spring可以根据这些配置自动管理bean的生命周期。 在实际项目中,使用xDoclet的益处不仅在于节省了手动编写XML的时间,还能降低...

    Spring中配置和读取多个Properties文件的方式方法

    总结起来,Spring通过`PropertyPlaceholderConfigurer`或`PropertySourcesPlaceholderConfigurer`提供了一种灵活的方式来加载和读取多个Properties文件,使得应用可以根据不同的配置文件进行初始化,从而实现配置的...

    Spirng Boot-_配置文件详解

    - 配置文件可以通过`spring.config.location`指定,支持多环境配置文件,如`application-dev.properties`。 4. **配置文件的活跃环境** - 使用`spring.profiles.active`属性指定当前环境,如`spring.profiles....

    springboot初始化资源的几种方式源码

    Spring Boot允许通过配置文件(application.yml 或 application.properties)在启动时加载和初始化配置。这些配置可以被自动绑定到bean,或者通过`@Value`注解直接注入到字段或方法参数中。 8. **自动配置(Auto ...

    jar包中类的加载及jar中资源的使用

    5. 配置文件:在`jar`包中常包含配置文件,如`application.properties`,可以使用`Properties`类加载并解析这些文件。 总结,`jar`包的使用涵盖了类的加载机制和资源的访问方式,理解这些知识点对于编写和维护Java...

Global site tag (gtag.js) - Google Analytics