java - 使用命令行参数将值注入(inject)spring

标签 java spring

我有一个应用程序需要使用不同的端口号运行两次,有没有办法可以将端口号作为命令行参数传递并在 spring 上下文文件中检索它们。

 <bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
    <property name="brokerURL">
       <value>vm://localhost:${<i>port number goes here</i>}</value>
    </property>
</bean>

最佳答案

如果它是作为系统属性传递的,则可以这样做。在 JVM 命令中添加 -Dport.number=8080 (或您想要的任何端口),然后将属性值更改为:

 <bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
        <property name="brokerURL">
           <value>vm://localhost:${port.number}/value>
        </property>
 </bean>

即。

java -Dport.number=8080 com.package.MyMain

关于java - 使用命令行参数将值注入(inject)spring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14571342/

相关文章:

java - Spring MVC 和 UTF-8 : How to work with Swedish special characters?

java - 为部署在 websphere 上的特定应用程序设置 java tmp 目录

java - 如何使用谷歌地图沿折线移动标记

java - Netbeans:尝试加载文件但未找到(Java)

hibernate @onetomany 关系更新而不是在保存期间插入

java - 自定义 BigInteger JSON 序列化程序

java - socketRead0实现,以及JDBC和glibc之间的通信

java - 什么时候设置带有 @GenerateValue 注解的 Id?

java - 如何使用 Spring $$EnhancerBySpringCGLIB$$ 捕获异常?

java - 为什么Spring Security不提供密码的字符数组参数