Maven项目中读取src/main/resources目录下的配置文件

在Maven项目的开发中,当需要读取src/下的配置文件时,该怎么做?

我们假设Resources下有一个文件名为kafka.properties的配置文件(为什么用kafka.properties,因为这是在做kafka项目的时候碰到的问题,在网上查到了不少信息,索性当个搬运工,再根据自己的理解整理一下)

1.在java类中读取
若配置文件不在src/main/resources目录下,可以直接使用

Properties prop = new properties();
prop.load(new InputStream("kafka.properties"));
当配置文件放在src/main/resources的目录下时,只能使用Class.getResourceAsStream()方法来加载

Properties prop = new properties();
prop.load(this.getClass().getResourceAsStream("/kafka.properties"));

此时,getResourceAsStream(String name)方法中参数路径的写法:

1).若写成"kafka.properties",则是去当前类的class文件同一目录下找(但是显然在正常项目不会有人将配置文件放在这种位置)。

2).若写成"/kafka.properties",则是去整个项目的classes目录下去找,即target/classes

2.在spring框架的xml文件中读取

首先我们先随便写个配置文件kafka.properties

kafka.topic=topic
serializer.class=kafka.serializer.StringEncoder
key.serializer.class=kafka.serializer.StringEncoder
以下就有两种方法来调用

1).首先可以在spring的bean中配置

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
	<value>/kafka.properties</value>
</list>
</property>
</bean>
这里还可以在list标签中配置多个value,这样就可以在bean中读取一个甚至多个配置文件。

<bean id="kafkaService" class="com.wws.service.impl.KafkaServiceImpl">
	<!-- <property name="topic"><value>topic</value></property> -->
	<property name="topic"><value>${kafka.topic}</value></property>
</bean>
这样就可以在后面的bean中成功调用配置文件中的参数,以上被注释的那段property和被注释掉的那行是同样效果
2).或者也可以使用如下方法

<context:property-placeholder location="classpath:kafka.properties"/>
直接在spring配置文件中配置context:property-placeholder,有多个配置文件可以用逗号隔开,例如

<context:property-placeholder location="classpath:kafka.properties,classpath:jdbc.properties"/>
调用的方法跟1).中一样,这里就不重复了

  • 11
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
YOLO高分设计源源码,详情请查看源内容使用说明 YOLO高分设计源源码,详情请查看源内容使用说明 YOLO高分设计源源码,详情请查看源内容使用说明 YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明YOLO高分设计源源码,详情请查看源内容使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值