File tree Expand file tree Collapse file tree 6 files changed +144
-1
lines changed Expand file tree Collapse file tree 6 files changed +144
-1
lines changed Original file line number Diff line number Diff line change 1+ <?xml  version =" 1.0"  encoding =" UTF-8"  ?>
2+ <project  xmlns =" http://maven.apache.org/POM/4.0.0"   xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance" 
3+ 	xsi:schemaLocation=" http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"  >
4+ 	<modelVersion >4.0.0</modelVersion >
5+ 
6+ 	<groupId >com.didispace</groupId >
7+ 	<artifactId >Chapter2-2-1</artifactId >
8+ 	<version >1.0.0</version >
9+ 	<packaging >jar</packaging >
10+ 
11+ 	<name >Chapter2-2-1</name >
12+ 	<description >Spring Boot 2 : Relaxed Binding</description >
13+ 
14+ 	<parent >
15+ 		<groupId >org.springframework.boot</groupId >
16+ 		<artifactId >spring-boot-starter-parent</artifactId >
17+ 		<version >2.0.0.RELEASE</version >
18+ 		<relativePath /> <!--  lookup parent from repository --> 
19+ 	</parent >
20+ 
21+ 	<properties >
22+ 		<project .build.sourceEncoding>UTF-8</project .build.sourceEncoding>
23+ 		<java .version>1.8</java .version>
24+ 	</properties >
25+ 
26+ 	<dependencies >
27+ 		<dependency >
28+ 			<groupId >org.springframework.boot</groupId >
29+ 			<artifactId >spring-boot-starter</artifactId >
30+ 		</dependency >
31+ 
32+ 		<dependency >
33+ 			<groupId >org.projectlombok</groupId >
34+ 			<artifactId >lombok</artifactId >
35+ 			<version >1.16.20</version >
36+ 		</dependency >
37+ 
38+ 	</dependencies >
39+ 	
40+ 	<build >
41+ 		<plugins >
42+ 			<plugin >
43+ 				<groupId >org.springframework.boot</groupId >
44+ 				<artifactId >spring-boot-maven-plugin</artifactId >
45+ 			</plugin >
46+ 		</plugins >
47+ 	</build >
48+ 
49+ </project >
Original file line number Diff line number Diff line change 1+ package  com .didispace ;
2+ 
3+ import  org .springframework .boot .SpringApplication ;
4+ import  org .springframework .boot .autoconfigure .SpringBootApplication ;
5+ import  org .springframework .boot .context .properties .ConfigurationPropertiesBinding ;
6+ import  org .springframework .boot .context .properties .bind .Bindable ;
7+ import  org .springframework .boot .context .properties .bind .Binder ;
8+ import  org .springframework .context .ApplicationContext ;
9+ 
10+ import  java .util .List ;
11+ 
12+ /** 
13+  * 
14+  * @author 程序猿DD 
15+  * @version 1.0.0 
16+  * @blog http://blog.didispace.com 
17+  * 
18+  */ 
19+ @ SpringBootApplication 
20+ public  class  Application  {
21+ 
22+ 	public  static  void  main (String [] args ) {
23+ 		ApplicationContext  context  = SpringApplication .run (Application .class , args );
24+ 
25+ 		Binder  binder  = Binder .get (context .getEnvironment ());
26+ 
27+ 		// 绑定简单配置 
28+ 		FooProperties  foo  = binder .bind ("com.didispace" , Bindable .of (FooProperties .class )).get ();
29+ 		System .out .println (foo .getFoo ());
30+ 
31+ 		// 绑定List配置 
32+ 		List <String > post  = binder .bind ("com.didispace.post" , Bindable .listOf (String .class )).get ();
33+ 		System .out .println (post );
34+ 
35+ 		List <PostInfo > posts  = binder .bind ("com.didispace.posts" , Bindable .listOf (PostInfo .class )).get ();
36+ 		System .out .println (posts );
37+ 
38+ 		// 读取配置 
39+ 		System .out .println (context .getEnvironment ().containsProperty ("com.didispace.database-platform" ));
40+ 		System .out .println (context .getEnvironment ().containsProperty ("com.didispace.databasePlatform" ));
41+ 
42+ 	}
43+ 
44+ }
Original file line number Diff line number Diff line change 1+ package  com .didispace ;
2+ 
3+ import  lombok .Data ;
4+ import  org .springframework .boot .context .properties .ConfigurationProperties ;
5+ 
6+ @ Data 
7+ @ ConfigurationProperties (prefix  = "com.didispace" )
8+ public  class  FooProperties  {
9+ 
10+     private  String  foo ;
11+ 
12+     private  String  databasePlatform ;
13+ 
14+ }
Original file line number Diff line number Diff line change 1+ package  com .didispace ;
2+ 
3+ import  lombok .Data ;
4+ import  org .springframework .boot .context .properties .ConfigurationProperties ;
5+ 
6+ @ Data 
7+ @ ConfigurationProperties 
8+ public  class  PostInfo  {
9+ 
10+     private  String  title ;
11+     private  String  content ;
12+ 
13+ }
Original file line number Diff line number Diff line change 1+ com.didispace.foo =bar
2+ com.didispace.database-platform =sql
3+ 
4+ com.didispace.post[0]=Why Spring Boot
5+ com.didispace.post[1]=Why Spring Cloud
6+ 
7+ com.didispace.posts[0].title =Why Spring Boot
8+ com.didispace.posts[0].content =It is perfect!
9+ com.didispace.posts[1].title =Why Spring Cloud
10+ com.didispace.posts[1].content =It is perfect too!
Original file line number Diff line number Diff line change 1717-  [ 腾讯云:3年时长最低265元/年] ( https://cloud.tencent.com/redirect.php?redirect=1005&cps_key=f6a8af1297bfac40b9d10ffa1270029a ) 
1818-  [ 阿里云:ECS云服务器2折起] ( https://s.click.taobao.com/t?e=m%3D2%26s%3Dzj4kbQ5lKukcQipKwQzePCperVdZeJviEViQ0P1Vf2kguMN8XjClAq9GNeKfy2AD4SaRmc4YmqYCxNLxWxqxDPY8Eqzf%2BUWbOTauL6DcROffvu81lbXO1DDVuRn8ddiDsEVVC24eqozO54LQ%2FVw1L9X5LHh3Z8M%2BWS6ALZVeqlk9XUfbPSJC%2F06deTzTIbffYpyF7ku%2BxKgGargQjSAC4C6cUF%2FXAmem ) 
1919
20- ## 样例列表  
20+ ## Spring Boot 2.0 新特性学习  
21+ 
22+ ** 简介与概览** 
23+ 
24+ -  [ Spring Boot 2.0 正式发布,升还是不升呢?] ( http://blog.didispace.com/spring-boot-2-release/ ) 
25+ -  [ Spring Boot 2.0 新特性和发展方向] ( http://blog.didispace.com/Spring-Boot-2-0-%E6%96%B0%E7%89%B9%E6%80%A7%E5%92%8C%E5%8F%91%E5%B1%95%E6%96%B9%E5%90%91/ ) 
26+ -  [ Spring Boot 2.0 与 Java 9] ( http://blog.didispace.com/Spring-Boot-2.0%E4%B8%8EJava-9/ ) 
27+ 
28+ ** 新特性详解** 
29+ 
30+ -  [ Spring Boot 2.0 新特性(一):配置绑定 2.0 全解析] ( http://localhost:4000/Spring-Boot-2-0-feature-1-relaxed-binding-2/ ) 
31+ 
32+ ## Spring Boot 基础教程(基于1.3.x-1.5.x)  
2133
2234#### 快速入门  
2335
2739#### 工程配置  
2840
2941-  chapter2-1-1:[ 配置文件详解:自定义属性、随机数、多环境配置等] ( http://blog.didispace.com/springbootproperties/ ) 
42+ -  chapter2-2-1:[ 配置文件详解:自定义属性、随机数、多环境配置等] ( http://blog.didispace.com/springbootproperties/ ) 
3043
3144#### Web开发  
3245
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments