如何在Spring Boot应用程序中设置系统属性

KRR*_*R16 8 vert.x spring-boot

我需要在 Spring Boot 应用程序中设置系统属性。我不想从命令行设置它。

我关心的是最好的做法是什么。无论是从构造函数还是在 main 方法中。下面是从构造函数设置它的示例

@SpringBootApplication
class Sample{
@Autowired
protected TempInfoDao tempInfoDao;

public Sample{
   //Setting System property inside constructor
    System.setProperty("vertx.hazelcast.config","./config/cluster.xml");
}

/**
 * @param args
 */
public static void main(String[] args) {
    SpringApplication.run(Sample.class, args);
}
Run Code Online (Sandbox Code Playgroud)

}

最好的方法是什么?

Ami*_*kar 1

从 Java 代码内部设置系统变量不是一个好主意。基本上,变量的目的是使代码不具有任何变量值。

使用属性文件来存储您的配置。Spring Boot 在外部化您的配置方面做得很好。它还允许您在单独的文件中进行环境配置,并在初始化方面做得很好。

参考https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html