Bahar Yapılandırma Dosyası İle Sistem Ayarlama Özelliği
Yapılandırma:
2.5, 4, Log4j Junit Bahar
Log4j dosya konumu bir sistem özelliğinden belirtildi
${log.location}
Çalışma zamanında, sistem özelliği-D java seçeneği ayarlayın. Her şey yolunda.
İhtiyacım Olan Şey Sorun /:
Birim test bir zamanda, sistem özelliği çözülmüş değil ayarlayın ve dosya konumu.
App Yay kullanır, sadece Bahar yapılandırmak istiyorayarlayınsistem özelliği.
Daha Fazla Bilgi:
Gereği yapılandırma için. Yeni bir Java kod tanıtmak olabilir mi, ya da IDE içine girdiler. İdeal olarak, Bahar özellik yapılandırma uygulamalarından biri sadece doğru kombinasyonu bulmak mümkün olmamıştır bu ele verebilir.
Bu fikir bulunur, ama Java kodu eklemek gerekir:
Spring SystemPropertyInitializingBean
Orada herhangi bir yardım? Herhangi bir fikir takdir edilmektedir.
CEVAP
İki MethodInvokingFactoryBeans kombinasyonu ile bunu başarabilirsiniz
Sistem erişen bir iç fasulye oluşturun.getProperties ve özellikleri iç bean ile edindikleri putAll çağıran bir dış bean:
<bean
class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property
name="targetObject">
<!-- System.getProperties() -->
<bean
class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass" value="java.lang.System" />
<property name="targetMethod" value="getProperties" />
</bean>
</property>
<property
name="targetMethod"
value="putAll" />
<property
name="arguments">
<!-- The new Properties -->
<util:properties>
<prop
key="my.key">myvalue</prop>
<prop
key="my.key2">myvalue2</prop>
<prop
key="my.key3">myvalue3</prop>
</util:properties>
</property>
</bean>
(Tabii ki sadece bir fasulye ve hedef Sistemi kullanabilirsiniz.() setProperties, ama sonra iyi bir fikir değil, varolan özelliklerini değiştirmek olur.
Her neyse, burada benim test yöntemi:
public static void main(final String[] args) {
new ClassPathXmlApplicationContext("classpath:beans.xml");
System.out.println("my.key: " System.getProperty("my.key"));
System.out.println("my.key2: " System.getProperty("my.key2"));
System.out.println("my.key3: " System.getProperty("my.key3"));
// to test that we're not overwriting existing properties
System.out.println("java.io.tmpdir: " System.getProperty("java.io.tmpdir"));
}
Ve burada çıktı
my.key: myvalue
my.key2: myvalue2
my.key3: myvalue3
java.io.tmpdir: C:\DOKUME~1\SEANFL~1\LOKALE~1\Temp\
MySQL MAMP ile birlikte bir yapılandır...
PHP Yapılandırma: güvenli sistem'...
Çözmek için nasıl "Eklenti yürütm...
Bahar yapılandırma dosyasında bean id ...
&; 'Sistem veya montaj dosyası yü...