velocity.log im „aktuellen“ Verzeichnis

Beim Einsatz von Velocity in Spring Projekten kannes vorkommen, dass Velocity im „aktuellen“ Verzeichnis loggen will. Jedoch kann Velocity auch ein existierendes Commons Logging / Log4j mit nutzen, indem man im classpath eine velocity.properties-Datei anlegt:

#runtime.log.logsystem.class=org.apache.velocity.runtime.log.SimpleLog4JLogSystem
runtime.log.logsystem.class=org.apache.velocity.tools.generic.log.CommonsLogLogSystem
runtime.log.logsystem.log4j.category=velocity

Spring: Properties für applicationContext.xml (key / value)

Spring bietet mit dem Application Context eine mächtige Varante, um Applikationen zu konfigurieren. Manchmal benötigt man aber z.B. zwischen Developer-Rechner und Live-Server nur eine kleine Änderung – die man dann aber in der oder den Context-Dateien suchen und anpassen müsste. Oder man hat Values, die sich häufig wiederholen….

Spring löst dies durch einen Mechanismus, mittels dem man Variablen als key/value-Paare in einer Properties-Dateu ablegen und dann in den Context-Dateien zugreifen kann.

Der erste Eintrag in der applicationContext.xml – Datei könnte somit folgendermaßen aussehen:

<bean id=“placeholderConfig“ class=“org.springframework.beans.factory.config.PropertyPlaceholderConfigurer“>
<property name=“location“ value=“/WEB-INF/developer.properties“ />
<property name=“ignoreResourceNotFound“ value=“false“ />
<property name=“ignoreUnresolvablePlaceholders“ value=“false“ />
<property name=“searchSystemEnvironment“ value=“false“ />
</bean>

Hiermit wird die Datei /WEB-INF/developer.properties eingebunden, die aus simplen Key-Value-Zeilen besteht. Ab sofort kann in der aktuellen und in jeder per „import resource“ eingebundenen context.xml auf diese Werte zugegriffen werden:

<;bean id=“meineBeanId“ class=“de.snad.meineBean“>
<property name=“myProperty“ value=“${variable}“>
</bean>

Siehe