`

Spring 读取properties文件

 
阅读更多

传统 方式可以配置 

<bean id="prop" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
   <!-- 这里是PropertiesFactoryBean类,它也有个locations属性,也是接收一个数组,跟上面一样 -->
   <property name="locations">
       <array>
          <value>classpath:jdbc.properties</value>
       </array>
   </property>
</bean>

 使用 @Value方式读取,这种方式每次都得需要声明一个变量

 

所以使用如下方式:

创建一个PropertiesUtils 继承 PropertyPlaceholderConfigurer

如下

import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;

public class PropertiesUtils extends PropertyPlaceholderConfigurer {
	 private static Map<String,String> propertyMap;

	    @Override
	    protected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess, Properties props) {
	        super.processProperties(beanFactoryToProcess, props);
	        propertyMap = new HashMap<String, String>();
	        for (Object key : props.keySet()) {
	            String keyStr = key.toString();
	            String value = props.getProperty(keyStr);
	            propertyMap.put(keyStr, value);
	        }
	    }

	    //static method for accessing context properties
	    public static Object getProperty(String name) {
	        return propertyMap.get(name);
	    }
}	

 

在spring中如下配置:

 <!-- 读取properties文件 -->
    <bean id="proptiesConfig" class="com.campus.utils.PropertiesUtils">  
	    <property name="locations">  
	        <array>  
	            <value>classpath:resource.properties</value> <!-- 可以是多个文件 --> 
	            <!-- <value>classpath:resource2.properties</value> -->  
	        </array>  
	    </property>  
	</bean>  

 

然后在 java 中可以通过如下方式访问

String value= (String) PropertiesUtils.getProperty("upload.photo"); //这里的 upload.photo 
//是在properties文件中的key


如properties文件如下:

aaa=D:\\TestM\\photo
bbbb=D:\\TestM\\video

则String value= (String) PropertiesUtils.getProperty("aaa");
得到value 值为  D:\\TestM\\photo

 

 

 

 

分享到:
评论

相关推荐

    spring读取properties

    ### Spring读取Properties文件的核心知识点 #### 1. **引入PropertyPlaceholderConfigurer** 在Spring的配置文件中,首先需要定义一个`PropertyPlaceholderConfigurer` bean,这是Spring用来解析Properties文件并...

    Spring 读取properties文件key+value方式.rar

    Spring框架提供了强大的属性配置管理,能够帮助开发者轻松地读取和使用properties文件中的key-value对。本教程将深入探讨如何在Spring中以不同的方式读取properties文件,以便更好地理解和应用这些配置。 首先,...

    读取properties文件返回map

    1. **properties文件结构** `properties`文件的结构非常简单,每行代表一个键值对,键和值之间用等号`=`或冒号`:`分隔。例如: ``` username=admin password=123456 database.url=jdbc:mysql://localhost:3306/...

    Spring用代码来读取properties文件实例解析

    Spring读取Properties文件实例解析 Spring框架中,读取Properties文件是一个非常重要的步骤,Properties文件中存储着应用程序的配置信息,如数据库连接信息、Server配置信息等。在Spring应用程序中,我们可以使用@...

    spring无法读取properties文件数据问题详解

    Spring 无法读取 properties 文件数据问题详解 Spring 框架在读取 properties 文件数据时可能会遇到一些问题,本文将对这些问题进行详细的解释和解决。 问题一:Controller 中无法读取 properties 文件数据 在 ...

    SSM 读取properties文件

    在Spring框架中,读取properties文件主要通过两种方式:`PropertyPlaceholderConfigurer` 和 `@Value` 注解。 1. **PropertyPlaceholderConfigurer**: 这是一个Spring的bean定义类,它允许我们从properties文件中...

    spring读取配置文件

    本篇文章将深入探讨如何在Spring中读取不同目录下的配置文件,以及使用`ClassPathXmlApplicationContext`和`FileSystemXmlApplicationContext`这两种不同的上下文环境来加载它们。 首先,让我们了解`...

    sftp直接以url模式读取-----------包括servlet如何借用springproperties取文件

    标题 "sftp直接以url模式读取-----------包括servlet如何借用springproperties取文件" 提到的是在Java开发中,如何通过SFTP(Secure File Transfer Protocol)协议以URL模式读取远程文件,并结合SpringProperties来...

    Spring3.0 配置文件中加载Properties文件的小例子

    在上面的配置中,`${db.driver}`、`${db.url}`、`${db.username}`和`${db.password}`都是从Properties文件中读取的属性值。Spring会自动替换这些占位符,使得我们的数据源bean能够正确连接到数据库。 除了上述方法...

    java实现properties文件读取

    本篇将深入探讨如何使用Java来实现Properties文件的读取。 首先,我们需要了解Properties类在Java中的作用。`java.util.Properties`是Java提供的一个类,它继承了`Hashtable`,主要用于处理属性列表(键/值对)。...

    java读取properties配置文件

    本文将详细介绍如何在Java中读取`properties`配置文件。 首先,我们需要了解`properties`文件的格式。一个标准的`.properties`文件通常包含多个行,每行由一个键和一个值组成,它们之间用等号(`=`)或冒号(`:`)...

    读取.properties文件

    此外,对于大型项目,可能需要更高级的解决方案,例如使用Spring框架的`@Value`注解或`@ConfigurationProperties`,这样可以在运行时自动注入配置信息,减少手动读取文件的步骤。 在开发过程中,有一些工具可以帮助...

    spring-demo09-读取properties配置文件内容.zip

    在Spring框架中,读取`properties`配置文件是常见的任务,用于管理应用程序的配置信息,如数据库连接字符串、服务端口、系统环境变量等。本文将深入探讨如何在Spring项目中实现这一功能。 首先,我们需要一个`...

    JAVA读取properties文件的值

    // 加载properties文件 props.load(input); } catch (IOException ex) { ex.printStackTrace(); } finally { if (input != null) { try { input.close(); } catch (IOException e) { e.printStackTrace(); ...

    spring读取jar中的配置文件

    当我们的应用程序被打包成JAR文件后,有时我们需要从JAR内部读取配置文件,例如application.properties或application.yml。本文将深入探讨如何在Spring框架中实现这一功能。 首先,理解Spring的资源配置。Spring...

    java读取properties文件,连接数据库

    在Java编程中,读取`.properties`文件是常见的任务,这些文件通常用于存储配置信息,如数据库连接参数。本文将详细介绍如何使用Java读取`.properties`文件并利用这些信息连接到数据库。 首先,我们需要理解`....

    读取以及修改properties文件

    - 如Apache Commons Configuration或Spring框架都提供了更高级的Properties文件处理功能,支持更复杂的配置结构和动态更新。 总结来说,Java中的Properties文件是配置管理的关键组件。通过`java.util.Properties`...

    JAVA 解决Properties文件保存中文乱码

    本文将深入探讨如何在Java中解决Properties文件保存和读取中文乱码的挑战。 首先,我们需要理解Java默认使用ISO-8859-1编码来处理Properties文件。由于此编码不支持大部分中文字符,因此在保存或加载包含中文的...

    Spring Boot多模块配置文件读取

    在Spring Boot应用中,多模块配置文件的读取是一个重要的实践,它有助于提高代码的可维护性和模块化。本文将详细探讨如何在Spring Boot的多模块项目中管理和使用不同的配置文件,以实现低耦合的设计。 首先,了解...

    谈谈Spring 注入properties文件总结

    这里,`@Value`注解直接在字段上,从properties文件中读取指定的属性值。 2. 使用`@ConfigurationProperties`注解: ```java @Configuration @ConfigurationProperties(prefix = "ds1.jdbc") public class ...

Global site tag (gtag.js) - Google Analytics