在一个应用中,需要将 java.util.Properties 作为参数传入 一个类中,并读出其中的一个参数
package cn.com.test.spring.properties;
import java.util.Properties;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class PropertyTest {
private Properties pro;
public void setPro(Properties pro) {
this.pro = pro;
}
public Properties getPro() {
return pro;
}
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("context_test_property.xml");
PropertyTest test = (PropertyTest)context.getBean("PropertyTest");
System.out.println(test.getPro().get("testString"));
}
}
如何将java.util.Properties以一个Bean的形式传入该类呢?可以使用Spring的静态工厂方法:
首先定义一个类实现一个返回 Properties的静态方法:
package cn.com.test.spring.properties;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
public class Configuration {
private static Properties pro = null;
public static Properties getProperties(String propertyFile)
throws FileNotFoundException, IOException {
if (pro == null) {
pro = new Properties();
pro.load(new FileInputStream(propertyFile));
}
return pro;
}
}
然后在配置文件中注册这个静态工厂方法即可
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="PropertyTest" class="cn.com.test.spring.properties.PropertyTest">
<property name="pro" ref="prop" />
</bean>
<bean id="prop" class="cn.com.test.spring.properties.Configuration"
factory-method="getProperties">
<constructor-arg
value="E:\Project\Java\Spring\springstudy\src\test.properties" />
</bean>
</beans>
如果在src的根路径下有文件test.propertie,其内容是:
testString=this is a test string for the test of a property file
则运行程序将打印出这句话
分享到:
相关推荐
### 方法一:使用`java.util.Properties` Java标准库提供了一个`Properties`类,专门用于处理`.properties`文件。以下是一个简单的示例: ```java import java.io.IOException; import java.io.InputStream; ...
在给定的场景中,"properties动态获取参数"指的是在运行时根据动态传入的参数,从`properties`文件中检索相应的配置值。这在很多情况下非常有用,例如,当应用程序需要根据环境变量或用户输入来调整其行为时。 首先...
可以传入第二个参数作为默认值,如 `props.getProperty("key", "default_value")`。 ### 4. 处理编码问题 默认情况下,`Properties`类使用平台默认编码加载和保存文件。如果文件编码不是平台默认的,需要指定编码...
1. **构造函数**:继承`DefaultErrorWebExceptionHandler`类,并传入必要的参数。 2. **`getErrorAttributes`方法**:覆盖父类方法,用于获取异常属性。在这个方法中,我们根据异常类型设置了不同的HTTP状态码...
这个方法需要传入总金额、描述、请求对象等参数,然后生成预支付订单信息。预支付订单信息包括订单号、支付金额、支付描述等信息。 三、回调函数的处理 在微信支付成功后,微信服务器会根据提供的回调地址进行回调...
2.6.4. 将Spring 应用程序上下文部署为JCA adapter 2.6.5. 计划任务 2.6.6. 对Java 5 (Tiger) 支持 2.7. 移植到Spring 2.5 2.7.1. 改变 2.8. 更新的样例应用 2.9. 改进的文档 I. 核心技术 3. IoC(控制反转)...
2.6.4. 将Spring 应用程序上下文部署为JCA adapter 2.6.5. 计划任务 2.6.6. 对Java 5 (Tiger) 支持 2.7. 移植到Spring 2.5 2.7.1. 改变 2.8. 更新的样例应用 2.9. 改进的文档 I. 核心技术 3. IoC(控制反转)...
MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个...
Spring MVC AOP日志管理通常与日志框架(如Log4j、Logback或Java内置的java.util.logging)集成。以下以Log4j为例: 1. 引入依赖:在项目pom.xml中添加Log4j的依赖。 2. 配置Log4j:创建log4j.properties或log4j....
在Spring Boot的配置文件`application.yml`或`application.properties`中,我们需要添加Freemarker的相关配置,例如: ```yaml spring: freemarker: template-loader-path: classpath:/templates/ suffix: ....
Java提供了`java.util.ResourceBundle`类来管理和加载这些资源包。以下是一些关于Java多国语言支持的关键知识点: 1. **Resource Bundle创建**:首先,你需要为每种语言创建一个.properties文件,例如`messages_en....
在上面的例子中,`currentTime`字段将被当前的日期时间初始化,而`doSomething`方法的`configProp`参数将从应用的属性配置文件中获取值。 SpEL表达式的语法非常丰富,支持算术运算、比较操作、逻辑运算、数组和集合...
【注入Java.util.Properties】 Spring允许注入Properties对象,通常用于读取配置文件。 【自动装配】 Spring的自动装配功能可以自动将Bean的依赖关系建立起来,有byName、byType、constructor、autodetect和no等...
<groupId>org.mybatis.spring.boot <artifactId>mybatis-spring-boot-starter <version>2.1.0 <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter <version>5.1.2 ``` ...
`TestConfiguration.java`很可能是一个Java类,用于处理配置文件的读取和解析工作。在Java中,我们可以利用`java.util.Properties`类来加载和操作`.properties`文件,如`config.properties`和`configiiff.properties...
这可以通过在`web.xml`中添加一个`context-param`元素来实现,将Log4j的配置文件路径作为参数传递,例如: ```xml ... <param-name>log4jConfigLocation <param-value>/WEB-INF/classes/log4j.properties ...
import java.util.Properties; public class SendEmailAction { public String sendEmail() { Properties props = new Properties(); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls....
- 格式化输出:`<@ftlmacro name="formatDate" date="java.util.Date">...<@/ftlmacro>`自定义宏,增强模板功能。 4. **Spring Boot中的FreeMarker配置** - 自定义模板路径:可以通过`spring.freemarker.template...
有了 BlazeDS,通过简单的配置,一个 Java 接口就可以作为服务暴露给 Flex,供其远程调用。 尽管现有的 EmployeeMgmt 应用程序已经有了 Façade 接口,但这个接口是暴露给 Servlet 使用的,最好能再为 Flex 定义另...