XML Spring和Java Annotation配置中的Java Spring批处理访问命令行参数

时间:2018-04-20 14:08:32

标签: spring spring-batch java-annotations

如何使用spring获取xml配置文件中的命令行参数?

使用属性文件我可以这样写:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:batch="http://www.springframework.org/schema/batch"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:jdbc="http://www.springframework.org/schema/jdbc"
    xsi:schemaLocation="
        http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-3.0.xsd
        http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <context:property-placeholder location="file:///my.property" /> 

    <bean id="mybean">
      <property name="prop1" ref="#{jobParameters['value.from.property']}" />
    </bean>

    <bean id="mybean2">
      <property name="prop1" ref="#{jobParameters['value2.from.property']}" />
    </bean>

    <bean id="mybean3">
      <property name="prop1" ref="#{jobParameters['value3.from.property']}" />
    </bean>
    <import resource="classpath:/META-INF/spring/module-context.xml" />

</beans>

但是如何解释Spring从命令行参数中获取值而不是在property-placeholder中指定的属性文件?

由于

1 个答案:

答案 0 :(得分:0)

要从属性文件中读取

<property name="prop1" value="${value.from.property}" />

要从作业参数中读取

<property name="prop1" value="#{jobParameters['value.from.jobParameter']}" />