1. 程式人生 > >spring-boot實戰【05】:Spring Boo多環境配置及配置屬性註入到對象

spring-boot實戰【05】:Spring Boo多環境配置及配置屬性註入到對象

num java red component 配置 cati 定義 fin row

項目工程結構:

技術分享

配置文件application.properties文件

com.yucong.blog.name=yucong
com.yucong.blog.title=Spring Boot Course
com.yucong.blog.desc=${com.yucong.blog.name} is learing ${com.yucong.blog.title}

# 隨機字符串
com.yucong.blog.value=${random.value}
# 隨機int
com.yucong.blog.number=${random.int}
# 隨機long
com.yucong.blog.bignumber=${random.long}
# 10以內的隨機數
com.yucong.blog.test1=${random.int(10)}
# 10-20的隨機數
com.yucong.blog.test2=${random.int[10,20]}

# 多環境配置文件激活屬性
spring.profiles.active=dev

applicaation-dev.properties

server.port=1111

application-test.properties

server.port=2222

application-prod.properties

server.port=3333

將application.properties文件中自定義的屬性註入到類的屬性中

BlogProperties.java

 1 package com.yucong.demo.service;
 2 
 3 import org.springframework.beans.factory.annotation.Value;
4 import org.springframework.stereotype.Component; 5 6 /** 7 * @author yucong 8 * @version 1.0.0 9 * @date 17/8/17 下午12:16. 10 */ 11 @Component 12 public class BlogProperties { 13 14 @Value("${com.yucong.blog.name}") 15 private String name; 16 @Value("${com.didispace.blog.title}") 17
private String title; 18 @Value("${com.yucong.blog.desc}") 19 private String desc; 20 21 @Value("${com.yucong.blog.value}") 22 private String value; 23 @Value("${com.yucong.blog.number}") 24 private Integer number; 25 @Value("${com.yucong.blog.bignumber}") 26 private Long bignumber; 27 @Value("${com.yucong.blog.test1}") 28 private Integer test1; 29 @Value("${com.yucong.blog.test2}") 30 private Integer test2; 31 32 public String getName() { 33 return name; 34 } 35 36 public void setName(String name) { 37 this.name = name; 38 } 39 40 public String getTitle() { 41 return title; 42 } 43 44 public void setTitle(String title) { 45 this.title = title; 46 } 47 48 public String getDesc() { 49 return desc; 50 } 51 52 public void setDesc(String desc) { 53 this.desc = desc; 54 } 55 56 public String getValue() { 57 return value; 58 } 59 60 public void setValue(String value) { 61 this.value = value; 62 } 63 64 public Integer getNumber() { 65 return number; 66 } 67 68 public void setNumber(Integer number) { 69 this.number = number; 70 } 71 72 public Long getBignumber() { 73 return bignumber; 74 } 75 76 public void setBignumber(Long bignumber) { 77 this.bignumber = bignumber; 78 } 79 80 public Integer getTest1() { 81 return test1; 82 } 83 84 public void setTest1(Integer test1) { 85 this.test1 = test1; 86 } 87 88 public Integer getTest2() { 89 return test2; 90 } 91 92 public void setTest2(Integer test2) { 93 this.test2 = test2; 94 } 95 }

單元測試YucongDemo02ApplicationTests.java:

 1 package com.yucong.demo;
 2 
 3 import org.apache.commons.logging.Log;
 4 import org.apache.commons.logging.LogFactory;
 5 import org.junit.Assert;
 6 import org.junit.Test;
 7 import org.junit.runner.RunWith;
 8 import org.springframework.beans.factory.annotation.Autowired;
 9 import org.springframework.boot.test.context.SpringBootTest;
10 import org.springframework.test.context.junit4.SpringRunner;
11 
12 import com.yucong.demo.service.BlogProperties;
13 
14 @RunWith(SpringRunner.class)
15 @SpringBootTest(classes=YucongDemo02Application.class)
16 public class YucongDemo02ApplicationTests {
17 
18     private static final Log log = LogFactory.getLog(YucongDemo02ApplicationTests.class);
19 
20     @Autowired
21     private BlogProperties blogProperties;
22 
23 
24     @Test
25     public void test1() throws Exception {
26         Assert.assertEquals("yucong", blogProperties.getName());
27         Assert.assertEquals("Spring Boot Course", blogProperties.getTitle());
28         Assert.assertEquals("yucong is learing Spring Boot Course", blogProperties.getDesc());
29 
30         log.info("隨機數測試輸出:");
31         log.info("隨機字符串 : " + blogProperties.getValue());
32         log.info("隨機int : " + blogProperties.getNumber());
33         log.info("隨機long : " + blogProperties.getBignumber());
34         log.info("隨機10以下 : " + blogProperties.getTest1());
35         log.info("隨機10-20 : " + blogProperties.getTest2());
36 
37     }
38 
39 }

spring-boot實戰【05】:Spring Boo多環境配置及配置屬性註入到對象