来自控制台的Spring属性值

时间:2017-12-14 03:38:36

标签: java spring

我正在开发一个spring应用程序,我需要在运行时提供属性值。

XML:

<bean id="circle" class="test.hhh.org.Circle">
    <property name="radius" value="NEED DYNAMIC VALUE HERE"/>
</bean>

所以在主要课程中:

Main.java

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt(); //dynamic value 
    }
 }

num应该是半径的值。如何在Spring中配置此值?有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

对于Spring应用程序,我建议使用配置文件或环境变量。

Java中的环境变量读取:

System.getenv("RADIUS")

春季读取属性文件:

@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