码迷,mamicode.com
首页 > 编程语言 > 详细

3 springboot配置文件

时间:2018-12-19 13:06:43      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:autowire   不能   profile   执行   注意   框架   ref   修改   语法   

springboot 是习惯优于配置,抛弃SSM中繁琐的配置内容,大量的基础配置由框架的完成。所以我们现在没有用任何的配置文件,可以快速的将项目运行起来。

我们找到web模块中的application.properties文件 这是一个全局的配置文件,存放于项目的中resources目录中。配置文件支持properties文件和yml文件。yml文件的层级语法更要清晰写。

 

我们来删除项目中的application.properties的文件(如果项目中存在的话),新建一个application.yml文件,修改文件内容如下

 

1 server:
2   port: 8001

 

重新启动项目,访问http://localhost:8001/getlist

注意下语法

1 yml层级接口,第二行的内容要加上一个tab键

2 第二行的:后边要加上一个空格 然后在去写上内容

我们会看到 正确的返回了JSON内容,而8080已经不能访问。这就是习惯优于配置,框架默认给我们的设置一个启动端口,不需要我们再去指定端口,但是我们依然可以重新配置来覆盖默认的内容。

 

自定义配置

有时候我们需要配置一些信息常量值

我们再次修改application.yml文件,内容如下

1 server:
2   port: 8001
3 
4 test:
5   test1: 哈哈
6   test2: 123456

 

修改Testcontroller中的代码,将我们写好的配置内容绑定到字段上,内容如下

 1 @RestController
 2 public class Testcontroller {
 3 
 4     @Autowired
 5     TestService testService;
 6 
 7     @Value("${test.test1}")
 8     private  String test1;
 9 
10     @Value("${test.test2}")
11     private  String test2;
12 
13     @GetMapping("/sayhello")
14     public String sayHello() {
15         return "Hello Word";
16     }
17 
18     @GetMapping("/getlist")
19     public List<TestDto> getlist(){
20         return testService.getTestList();
21     }
22 
23     @GetMapping("/gettest")
24     public String gettest(){
25         return test1+test2;
26     }
27 }

 

访问http://localhost:8001/gettest

看到返回值:哈哈123456

说明我们的配置文件已经生效了

 

多配置环境

一般我们在开发的过程中,不同的环境需要不同的配置文件。比如我们 数据库连接字符串,正式和测试,和开发环境中的都不一样

我们先创建三个文件

application-dev.yml  本地开发环境的配置文件

application-testyml  测试环境中的配置文件

application-prod.yml 正式环境的配置文件

我们再次修改这些内置文件内容如下

application.yml文件

1 server:
2   port: 8001
3 
4 spring:
5   profiles:
6     active: dev

application-dev.yml

1 test:
2   test1: 开发环境
3   test2: 123456

application-prod.yml

1 test:
2   test1: 正式环境
3   test2: 123456

application-test.yml

1 test:
2   test1: 测试环境
3   test2: 123456

我们重新运行项目 访问http://localhost:8001/gettest

我们会看到返回值 :开发环境123456

我们再次修改active值为 test

再次访问 http://localhost:8001/gettest

我们会看到返回值 测试环境123456

说明我们修改的多环境已经生效了

 

我们在按照上一篇文章的方式进行项目打包

切换到webtartget目录中执行命令

java -jar somefun-web-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

我们再次访问 http://localhost:8001/gettest

会发现返回内容:正式环境123456

同样的我们也可以在命令行中指定其他的环境参数值

 

这里只是列举了一些简单的使用方式,更加详细的配置内容可以关注SpringBoot官方文档https://docs.spring.io/spring-boot/docs/2.1.1.RELEASE/reference/htmlsingle/

 

3 springboot配置文件

标签:autowire   不能   profile   执行   注意   框架   ref   修改   语法   

原文地址:https://www.cnblogs.com/jiage/p/10142017.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!