在Resources下有一个文件名为kafka.properties的配置文件,怎么加载呢,下面整理了一些方法和说明。
一、在java类中读取
若配置文件不在src/main/resources目录下,可以直接使用
1 | Properties prop = new properties(); |
当配置文件放在src/main/resources的目录下时,只能使用Class.getResourceAsStream()方法来加载
1 | Properties prop = new properties(); |
此时,getResourceAsStream(String name)方法中参数路径的写法:
若写成”kafka.properties”,则是去当前类的class文件同一目录下找(但是显然在正常项目不会有人将配置文件放在这种位置)。
若写成”/kafka.properties”,则是去整个项目的classes目录下去找,即target/classes
二、在spring框架的xml文件中读取
1 | // 配置文件kafka.properties |
- 首先可以在spring的bean中配置
1 | <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> |
这里还可以在list标签中配置多个value,这样就可以在bean中读取一个甚至多个配置文件。
1 | <bean id="kafkaService" class="com.wws.service.impl.KafkaServiceImpl"> |
这样就可以在后面的bean中成功调用配置文件中的参数,以上被注释的那段property和被注释掉的那行是同样效果
- 或者也可以使用如下方法
1 | <context:property-placeholder location="classpath:kafka.properties"/> |
直接在spring配置文件中配置context:property-placeholder,有多个配置文件可以用逗号隔开,例如
1 | <context:property-placeholder location="classpath:kafka.properties,classpath:jdbc.properties"/> |
调用的方法跟上面一样,这里就不赘述了。