首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在spring boot应用程序中设置系统属性

如何在spring boot应用程序中设置系统属性
EN

Stack Overflow用户
提问于 2018-08-16 06:13:01
回答 2查看 21.1K关注 0票数 2

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

我关心的是什么是这样做的最佳实践。从构造函数或内部main方法。下面是从构造函数设置它的示例

代码语言:javascript
复制
@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);
}

}

最好的方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-16 08:56:34

从Java代码内部设置系统变量不是一个好主意。从根本上说,变量是为了让代码不再有任何变量值。

使用属性文件来存储您的配置。Spring Boot将您的配置外部化的工作做得很好。它还允许您将环境配置放在单独的文件中,并完成很好的初始化工作。

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

票数 1
EN

Stack Overflow用户

发布于 2018-08-16 13:40:46

在构造函数中设置系统属性不是一个好方法。

你可以使用一个单独的类和spring注解来做到这一点,如下所示。

代码语言:javascript
复制
@Profile("production")
@Component
public class ProductionPropertySetter {
    @PostConstruct
    public void setProperty() {
       System.setProperty("http.maxConnections", 15);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51867161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档