У меня есть веб-приложение JSF с Spring, и я пытаюсь найти способ ссылаться на аргументы JVM из applicationContext.xml.Я запускаю JVM с аргументом среды (например, -Denv = development).Я нашел и попробовал несколько разных подходов, в том числе:
<bean id="myBean" class="com.foo.bar.myClass">
<property name="environment">
<value>${environment}</value>
</property>
</bean>
Но, когда метод setter вызывается в MyClass, передается строка "$ {environment}" вместо "development".У меня есть обходной путь для использования System.getProperty (), но было бы лучше и чище иметь возможность устанавливать эти значения через Spring.Есть ли способ сделать это?
Редактировать: То, что я должен был упомянуть ранее, это то, что я загружаю свойства из моей базы данных, используя соединение JDBC.Это, кажется, добавляет сложности, потому что когда я добавляю заполнитель свойства в свою конфигурацию, свойства, загруженные из базы данных, переопределяются заполнителем свойства.Я не уверен, зависит ли это от порядка или что-то в этом роде.Как будто я могу сделать одно или другое, но не оба.
Редактировать: в данный момент я загружаю свойства, используя следующую конфигурацию:
<bean id="myDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc.mydb.myschema"/>
</bean>
<bean id="props" class="com.foo.bar.JdbcPropertiesFactoryBean">
<property name="jdbcTemplate">
<bean class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg ref="myDataSource" />
</bean>
</property>
</bean>
<context:property-placeholder properties-ref="props" />