Mavenプロジェクトの開発では、SRC/で構成ファイルを読み取る必要がある場合はどうすればよいですか?
ファイル名kafka.properties(なぜkafka.propertiesを使用するのか?これがKafkaプロジェクトを行うときに遭遇する問題であるため、リソースの下に構成ファイルがあると仮定しましょう。
1。Javaクラスを読んでください
構成ファイルがSRC/Main/Resourcesディレクトリにない場合は、直接使用できます。
プロパティprop = new Properties(); prop.load(new inputstream( "kafka.properties"));
構成ファイルがSRC/Main/リソースのディレクトリに配置されている場合、class.getResourceasStream()メソッドのみを使用してロードすることができます。
プロパティprop = new Properties(); prop.load(this.getClass()。getResourceasStream( "/kafka.properties"));
この時点で、パラメーターパスはgetResourceasStream(String name)メソッドで記述されています。
1)。 「kafka.properties」と書かれている場合、現在のクラスのクラスファイルと同じディレクトリで検索することになります(ただし、明らかに、通常のプロジェクトで構成ファイルをこの位置に配置する人はいません)。
2)。 「/kafka.properties」と書かれている場合は、プロジェクト全体のクラスディレクトリに移動して、それを探します。つまり、ターゲット/クラス
2。スプリングフレームワークのXMLファイルを読む
まず、構成ファイルkafka.propertiesを書きましょう
kafka.topic = Topic Serializer.class = kafka.serializer.stringencoder key.serializer.class = kafka.serializer.stringencoder
電話する方法は2つあります
1)。まず、スプリングビーンズで構成できます
<bean id = "propertyconfigurer"> <プロパティ名= "locations"> <list> <span style = "pre"> </span> <value>/kafka.properties </value> </list> </jean> </bean> </bean>
ここでは、リストタグで複数の値を構成することもできます。これにより、1つまたは複数の構成ファイルをBeanで読み取ることができます。
<bean id = "kafkaservice"> <! - <プロパティ名= "トピック"> <value>トピック>トピック</value> </property> - > <property name = "topic"> <value> $ {kafka.topic} </property> </bean>これにより、構成ファイルのパラメーターは、後続のBeanで正常に呼び出されます。上記のコメントされた財産のセクションとコメントされた行には同じ効果があります。
2)。または、次の方法を使用することもできます
<コンテキスト:Property-PlaceHolder location = "ClassPath:Kafka.Properties"/>
Configure Context:Spring Configuration Filesのプロパティプレイスホルダー。たとえば、コンマで分離できる複数の構成ファイルがあります
<コンテキスト:プロパティプレイスホルダーlocation = "classpath:kafka.properties、classpath:jdbc.properties"/>
呼ばれる方法は1)と同じです。したがって、ここで繰り返しません。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。