現在、さまざまなプロパティを提供していますが、さまざまなフォルダーを経由していません。これは、
- 春の
PropertyPlaceholderConfigurer
- Maven プロファイル (開発環境を構築するために使用するもの)、
- ビルド サーバー (この場合は TeamCity)
- 正しいアーティファクトを生成する Maven フェーズ
- 起動引数とビルド引数
私たちが何をしているのかについての私の理解は限られていますが、うまくいけば、これが他の人やおそらく私自身が考えるのに役立つ例として役立つでしょう.
以下に示すように、さまざまなプロパティ ファイルを指すパラメーターが用意されています。各プロパティ ファイルには、リージョン/環境の構成が含まれています。他の人に何らかの使用を提供する場合に備えて、現在の使用をできる限り説明します。
Maven プロファイルを使用するために、 と呼ばれるリージョン構成プロパティを含むprofile
として識別される pom にを作成しました。私たちのプロジェクトでそれがどのように使用されているかはまだ完全にはわかりませんが、以下の POM には Maven Compiler プラグインと Maven Tomcat プラグインが含まれていることがわかります。development
env
開発者として、私たちは日々、IntelliJ 内から Tomcat でローカルにアプリケーションを実行し、env
プロパティを提供しています。起動時に、env
プロパティは に設定する引数として提供されclasspath*:dev-common.properties
ます。このファイルはプロパティ構成ファイルで、さまざまな地域のプレースホルダー値を設定します。
の値がenv
利用可能になりますPropertyPlaceholderConfigurer
例 1profile
- pom.xml での Maven の実装:
profile
pomでの a の実装は次のとおりです。
<profile>
<id>development</id>
<activation>
<property>
<name>env</name>
<value>development</value>
</property>
</activation>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0-SNAPSHOT</version>
...
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
例 2 - 通常のビルド用のプロパティ プレースホルダー コンフィギュアラー:
また、Spring コンポーネントであるPropertyPlaceholderConfigurer
. これを build 引数と組み合わせて使用し、リソース ファイルへのクラスパスポインターを設定します。
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>
${env}
</value>
</list>
</property>
例 3 - テスト用のプロパティ プレースホルダー コンフィギュアラー:
統合テスト用に特別にセットアップされた Spring Context がありますPropertyPlaceholderConfigurer
。@ContextConfiguration(locations = {"classpath:test-dataexchange-application-context.xml"})
これらは、との組み合わせを使用して統合テスト クラスによって検出されます@RunWith(SpringJUnit4ClassRunner.class)
)。テスト コンテキスト
では、次のように構成して、統合テスト領域のプロパティを取得します。PropertyPlaceholderConfigurer
<bean id="testpropertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath*:dev-local-common.properties</value>
</list>
</property>
その他の注意事項:
私たちはビルド管理に Team City を利用していますが、これらの設定がそこでどのように使用されているかを見たことがありません。上記のアプローチを組み合わせて、継続的インテグレーションとデリバリーを支援する機能があると考えられます。
として識別されたプロファイルが使用されている場所がわかりませんdevelopment
。これは、仲間のチーム メンバーと一緒にフォローアップしなければならないことです。
資力: