[Spring] Boot 简化开发 2 配置

博客首页 » Spring Boot 简化开发 2 配置

发布于 27 Jan 2016 09:51
标签 blog
上一篇文章,已经体会到使用Spring Boot可以快速构建工程。

概述Spring Boot的配置

作为一体化配置的补偿,Spring Boot也提供了灵活的配置手段。

优先级顺序是:

  • 命令行参数。
  • 通过 System.getProperties() 获取的 Java 系统参数。
  • 操作系统环境变量。
  • 从 java:comp/env 得到的 JNDI 属性。
  • 通过 RandomValuePropertySource 生成的“random.*”属性。
  • 应用 Jar 文件之外的属性文件。
  • 应用 Jar 文件内部的属性文件。
  • 在应用配置 Java 类(包含“@Configuration”注解的 Java 类)中通过“@PropertySource”注解声明的属性文件。
  • 通过“SpringApplication.setDefaultProperties”声明的默认属性。

命令行参数的例子

所有的以 "—<name>" 开头的命令行参数,可以通过去掉开始的两个"-"后的name来引用

略微改造一下代码。

@RestController
@EnableAutoConfiguration
public class Application {
 
    @Value("${name}")
    private String name;
 
    @RequestMapping("/")
    String home() {
        return String.format("Hello %s!", name);
    }
 
    public static void main(String[] args) throws Exception {
        SpringApplication.run(Application.class, args);
    }
}

执行与结果

打包 mvn package

我们在命令行上添加 —name=Frank 执行jar包
java -jar target\spring-boot-simple-1.0-SNAPSHOT.jar —name=Frank

执行简单的程序从localhost:8080取得结果

pip install pycurl;
 
python -c "
from pycurl import Curl;
from cStringIO import StringIO; 
buf=StringIO(); 
c=Curl(); 
c.setopt(c.URL, 'http://localhost:8080/'); 
c.setopt(c.WRITEFUNCTION, buf.write); 
c.perform(); 
print buf.getvalue(); 
buf.close();
"

可以看到结果:
Hello Frank!


本页面的文字允许在知识共享 署名-相同方式共享 3.0协议和GNU自由文档许可证下修改和再使用,仅有一个特殊要求,请用链接方式注明文章引用出处及作者。请协助维护作者合法权益。


系列文章

文章列表

  • Spring Boot 简化开发 2 配置

这篇文章对你有帮助吗,投个票吧?

rating: 0+x

留下你的评论

Add a New Comment