`
yjz毕竟是云
  • 浏览: 8216 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何利用spring和java.util.propeties读取properties属性文件里的值

阅读更多

获取properties属性文件里的信息:俩种方式

 

 

首先需要将属性文件交给spring容器!如下:

 

    <!-- 使用注解注入properties中的值                   (将属性文件里的信息交给spring来管理)      -->  

    <bean id="projectInfo" class="org.springframework.beans.factory.config.PropertiesFactoryBean">

         <property name="locations">

            <list>

               <value>classpath:config.properties</value>

            </list>

         </property>

         

         <!-- 设置编码格式 -->

         <property name="fileEncoding" value="UTF-8"></property>

</bean>

 

方法一:需要写属性文件的对应的实体类!再在实体类的属性上用@value(#{beanId[key]})标签,将属性文件里的值注入到对象属性里!如下:

package com.property;

 

import org.springframework.beans.factory.annotation.Value;

import org.springframework.stereotype.Component;

 

@Component("configProperty")

public class ConfigProperty {

 

@Value("#{projectInfo[author_name]}")

private String author_name;

 

@Value("#{projectInfo[project_info]}")

private String project_info;

 

 

 

public String getAuthor_name() {

return author_name;

}

public void setAuthor_name(String author_name) {

this.author_name = author_name;

}

public String getProject_info() {

return project_info;

}

public void setProject_info(String project_info) {

this.project_info = project_info;

}

}

 

单元测试:

 /**

 * 测试 Spring注解方式注入properties文件内容

 * @author yuanjz

 *

 */

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(locations={"file:WebRoot/WEB-INF/test-servlet.xml"})

public class PropertiesFactoryTest {

 

@Resource(name="configProperty")

private ConfigProperty configProperty;

 /**

 * 该方式需要写配置文件(config.properties)对应的实体类 并且使用@value注解给实体类属性注入值,比较麻烦!

 */

@Test

public void test(){

System.out.println("方式一:"+configProperty.getAuthor_name());

System.out.println("方式一:"+configProperty.getProject_info());

}

 

}

 

 

 

方法二:使用java.util.properties类 与spring结合的方式,来获取配置文件(config.properties)里的属性值!

 

说白了就是:属性文件注册到spring容器中,成为一个bean!再在代码中将该bean注入到properties对象中!

 

 

不需要实体类,直接可以单元测试!如下:

 

 

 

 /**

 * 测试 Spring注解方式注入properties文件内容

 * @author yuanjz

 *

 */

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(locations={"file:WebRoot/WEB-INF/test-servlet.xml"})

public class PropertiesFactoryTest {

 

 

     /*将spring容器里的属性文件信息注入到Properties对象里!*/

@Resource(name="projectInfo"

private Properties  projectInfo;

 

 

 /**

 * 使用java.util.properties类 与spring结合的方式,来获取配置文件(config.properties)里的属性值!

 

      说白了就是:属性文件注册到spring容器中,成为一个bean!再在代码中将该bean注入到properties对象中!

 */

@Test

public  void  test2(){

projectInfo.getProperty("author_name");

projectInfo.getProperty("project_info");

 

System.out.println("方式二,名字: "+projectInfo.getProperty("author_name")+"信息:"+projectInfo.getProperty("project_info"));

 

}

}

 

 

 

测试结果:方式二,名字: 张三 信息:该项目主要是用于写一些demo 

方式一:张三

方式一:该项目主要是用于写一些demo 

 

 

 

<!--EndFragment-->
1
0
分享到:
评论

相关推荐

    java.util.logging.Logger使用详解

    ### Java.util.logging.Logger 使用详解 #### 一、创建Logger对象 在Java中,`java.util.logging.Logger` 是标准的日志框架之一,它提供了基础的日志记录功能。为了使用这一功能,首先需要获得 `java.util.logging...

    用java.util.zip包现数据压缩与解压

    本文将通过一系列的示例来详细介绍如何利用 Java 中的 `java.util.zip` 包进行数据的压缩与解压操作。此外,还将探讨这一技术在网络传输中的应用。 #### 数据压缩算法简介 在深入讨论具体实现之前,我们先简要了解...

    java.util.Date与java.sql.Date互转及字符串转换为日期时间格式.docx

    在Java编程语言中,处理日期和时间时经常使用到`java.util.Date`和`java.sql.Date`这两个类。它们虽然名字相似,但在实际应用中有很大的区别。 - **`java.util.Date`**:这个类提供了创建和操作日期/时间的功能,它...

    java.util.Date与java.sql.Date相互转换

    - 在使用 `java.util.Date` 的 `getYear()` 和 `getMonth()` 方法时需要注意,`getYear()` 返回的值是从1900年开始计算的,需要加上1900才能得到实际年份;`getMonth()` 返回的是从0开始计算的月份,需要加上1。 - ...

    java 读取properties文件代码

    总结,Java中读取Properties文件是通过`java.util.Properties`类来实现的,涉及的关键步骤包括加载文件、获取键值对以及处理可能的异常。这种机制在许多场景下都非常实用,如数据库连接配置、应用设置等。理解并熟练...

    Exception in thread “main“ java.util.InputMismatchException.pdf

    在Java编程语言中,`java.util.InputMismatchException`是一个常见的运行时异常,它通常发生在尝试从数据源(如控制台、文件或数据库)读取数据时,遇到的数据类型与预期的不匹配。在这个特定的场景中,问题出在主线...

    java并发工具包 java.util.concurrent中文版用户指南pdf

    1. java.util.concurrent - Java 并发工具包 2. 阻塞队列 BlockingQueue 3. 数组阻塞队列 ArrayBlockingQueue 4. 延迟队列 DelayQueue 5. 链阻塞队列 LinkedBlockingQueue 6. 具有优先级的阻塞队列 ...

    spring-web-2.5.jar

    META-INF/MANIFEST.MF META-INF/license.txt org.springframework.remoting.caucho.BurlapClientInterceptor.class org.springframework....org/springframework/web/util/HtmlCharacterEntityReferences.properties

    java.util包

    Java提供日期(Data)类、日历(Calendar)类,随机数(Random)类,堆栈(Stack)、向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等类来表示相应的数据结构

    无法解析类型 java.util.Map$Entry。从必需的 .class 文件间接引用了它

    这是我在编写struts2中遇到的问题,整理出来,包括截图,希望可以帮到大家

    java.util.zip 解压缩文件,ZIP格式压缩文件.rar

    `ZipEntry` 对象用于表示ZIP文件中的每一个条目,包括文件名和属性。 总结一下,`java.util.zip` 包提供了解压缩和压缩文件的强大功能,这对于任何需要处理ZIP文件的Java开发者来说都是必不可少的工具。无论你是想...

    java读取.properties配置文件的几种方法

    总结来说,Java提供了多种方式来读取`.properties`配置文件,包括标准库中的`Properties`和`ResourceBundle`,以及NIO、Spring框架和第三方库如Apache Commons Configuration。选择哪种方式取决于你的具体需求,如...

    java.sql.与java.util

    Java编程语言提供了两个重要的日期处理类,分别是`java.util.Date`和`java.sql.Date`,它们在处理日期和时间上有着不同的特性和用途。 `java.util.Date`是更通用的日期时间类,它包含了日期和时间的信息,可以精确...

    java.sql.date与java.util.date.pdf

    Java.sql.Date与Java.util.Date的区别和转换 Java.util.Date和Java.sql.Date是Java中两种不同的日期和时间表示方式,虽然它们都是表示日期和时间,但是它们之间存在着一些重要的区别。 首先,Java.util.Date是Java...

    java.util.Date与java.sql.Date互转及字符串转换为日期时间格式[文].pdf

    因此,在保存java.util.Date的精确值时,我们需要利用java.sql.Timestamp。可以使用Calendar类来获取当前时间,然后将其转换为java.sql.Timestamp: Calendar calendar = Calendar.getInstance(); java.sql....

    java读取属性文件

    在Java编程中,属性文件(通常以`.properties`为扩展名)是一种常见的配置文件类型,用于存储应用程序的配置参数和设置。这些文件以键值对的形式组织,键和值之间用等号`=`或冒号`:`分隔。在本教程中,我们将深入...

Global site tag (gtag.js) - Google Analytics