时间:2021-05-20
在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> <span style="white-space:pre"> </span><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,有多个配置文件可以用逗号隔开,例如
调用的方法跟1).中一样,这里就不重复了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言新建一个普通的Maven项目基本目录结构├──src#│├──main#││└──java#java代码目录││└──resources#配置文件目录,存放
在第一个Springboot项目中我们知道,SpringBoot项目的默认配置文件在main/resources下的application.properties
读取resources下文件的方法网上有问答如下:问: newFileInputStream("src/main/resources/all.properti
本文主要介绍的是java读取resource目录下文件的方法,比如这是你的src目录的结构├──main│├──java││└──com││└──test││└
一、Maven模版Bug按照Maven的模版,创建的项目结构如下图所示:默认,会帮我们创建src/main/resources按照Maven的规范,Maven会