获取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
相关推荐
### Java.util.logging.Logger 使用详解 #### 一、创建Logger对象 在Java中,`java.util.logging.Logger` 是标准的日志框架之一,它提供了基础的日志记录功能。为了使用这一功能,首先需要获得 `java.util.logging...
本文将通过一系列的示例来详细介绍如何利用 Java 中的 `java.util.zip` 包进行数据的压缩与解压操作。此外,还将探讨这一技术在网络传输中的应用。 #### 数据压缩算法简介 在深入讨论具体实现之前,我们先简要了解...
在Java编程语言中,处理日期和时间时经常使用到`java.util.Date`和`java.sql.Date`这两个类。它们虽然名字相似,但在实际应用中有很大的区别。 - **`java.util.Date`**:这个类提供了创建和操作日期/时间的功能,它...
- 在使用 `java.util.Date` 的 `getYear()` 和 `getMonth()` 方法时需要注意,`getYear()` 返回的值是从1900年开始计算的,需要加上1900才能得到实际年份;`getMonth()` 返回的是从0开始计算的月份,需要加上1。 - ...
总结,Java中读取Properties文件是通过`java.util.Properties`类来实现的,涉及的关键步骤包括加载文件、获取键值对以及处理可能的异常。这种机制在许多场景下都非常实用,如数据库连接配置、应用设置等。理解并熟练...
在Java编程语言中,`java.util.InputMismatchException`是一个常见的运行时异常,它通常发生在尝试从数据源(如控制台、文件或数据库)读取数据时,遇到的数据类型与预期的不匹配。在这个特定的场景中,问题出在主线...
1. java.util.concurrent - Java 并发工具包 2. 阻塞队列 BlockingQueue 3. 数组阻塞队列 ArrayBlockingQueue 4. 延迟队列 DelayQueue 5. 链阻塞队列 LinkedBlockingQueue 6. 具有优先级的阻塞队列 ...
META-INF/MANIFEST.MF META-INF/license.txt org.springframework.remoting.caucho.BurlapClientInterceptor.class org.springframework....org/springframework/web/util/HtmlCharacterEntityReferences.properties
Java提供日期(Data)类、日历(Calendar)类,随机数(Random)类,堆栈(Stack)、向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等类来表示相应的数据结构
这是我在编写struts2中遇到的问题,整理出来,包括截图,希望可以帮到大家
`ZipEntry` 对象用于表示ZIP文件中的每一个条目,包括文件名和属性。 总结一下,`java.util.zip` 包提供了解压缩和压缩文件的强大功能,这对于任何需要处理ZIP文件的Java开发者来说都是必不可少的工具。无论你是想...
总结来说,Java提供了多种方式来读取`.properties`配置文件,包括标准库中的`Properties`和`ResourceBundle`,以及NIO、Spring框架和第三方库如Apache Commons Configuration。选择哪种方式取决于你的具体需求,如...
Java编程语言提供了两个重要的日期处理类,分别是`java.util.Date`和`java.sql.Date`,它们在处理日期和时间上有着不同的特性和用途。 `java.util.Date`是更通用的日期时间类,它包含了日期和时间的信息,可以精确...
Java.sql.Date与Java.util.Date的区别和转换 Java.util.Date和Java.sql.Date是Java中两种不同的日期和时间表示方式,虽然它们都是表示日期和时间,但是它们之间存在着一些重要的区别。 首先,Java.util.Date是Java...
因此,在保存java.util.Date的精确值时,我们需要利用java.sql.Timestamp。可以使用Calendar类来获取当前时间,然后将其转换为java.sql.Timestamp: Calendar calendar = Calendar.getInstance(); java.sql....
在Java编程中,属性文件(通常以`.properties`为扩展名)是一种常见的配置文件类型,用于存储应用程序的配置参数和设置。这些文件以键值对的形式组织,键和值之间用等号`=`或冒号`:`分隔。在本教程中,我们将深入...