Java 来自控制台的Spring属性值
我正在开发一个spring应用程序,需要在运行时提供属性值 XML:Java 来自控制台的Spring属性值,java,spring,Java,Spring,我正在开发一个spring应用程序,需要在运行时提供属性值 XML: <bean id="circle" class="test.hhh.org.Circle"> <property name="radius" value="NEED DYNAMIC VALUE HERE"/> </bean> num应该是半径的值。如何在Spring中配置此值?有什么方法可以做到这一点吗?对于Spring应用程序,我建议使用配置文件或环境变量 Java中的环境变量读
<bean id="circle" class="test.hhh.org.Circle">
<property name="radius" value="NEED DYNAMIC VALUE HERE"/>
</bean>
num
应该是半径的值。如何在Spring中配置此值?有什么方法可以做到这一点吗?对于Spring应用程序,我建议使用配置文件或环境变量
Java中的环境变量读取:
System.getenv("RADIUS")
在spring中读取属性文件:
@Configuration
@PropertySource("classpath:foo.properties")
public class PropertiesWithJavaConfig {
@Value( "${radius.value}" )
private int radius;
@Bean
public static PropertySourcesPlaceholderConfigurer
propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
}
foo.properties文件应位于资源目录下
./src/main/java/resources/foo.properties
它的内容应该是:
radius.value=11
谢谢你的回答。但值11仍然是静态的,对吗?我们如何在运行时分配值?任何值?那么您的问题是,是否要接受用户输入?还是某种形式的动态设置?1.您可以使用属性文件增强第二个版本,以便对该文件进行定期检查,这样您就可以动态更改它。2.或者使用带有Spring的控制器来接受用户输入,但这当然是Http级别的。如果您只想从控制台阅读,我不确定spring是否支持这一点。如果您想从命令行获得用户输入,我不认为使用Spring有什么意义。
radius.value=11