forked from xkcoding/spring-boot-demo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
12 changed files
with
495 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
/target/ | ||
!.mvn/wrapper/maven-wrapper.jar | ||
|
||
### STS ### | ||
.apt_generated | ||
.classpath | ||
.factorypath | ||
.project | ||
.settings | ||
.springBeans | ||
.sts4-cache | ||
|
||
### IntelliJ IDEA ### | ||
.idea | ||
*.iws | ||
*.iml | ||
*.ipr | ||
|
||
### NetBeans ### | ||
/nbproject/private/ | ||
/build/ | ||
/nbbuild/ | ||
/dist/ | ||
/nbdist/ | ||
/.nb-gradle/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,208 @@ | ||
# spring-boot-demo-properties | ||
|
||
> 本 demo 演示如何获取配置文件的自定义配置,以及如何多环境下的配置文件信息的获取 | ||
## pom.xml | ||
|
||
```xml | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
<modelVersion>4.0.0</modelVersion> | ||
|
||
<groupId>com.xkcoding</groupId> | ||
<artifactId>spring-boot-demo-properties</artifactId> | ||
<version>0.0.1-SNAPSHOT</version> | ||
<packaging>jar</packaging> | ||
|
||
<name>spring-boot-demo-properties</name> | ||
<description>Demo project for Spring Boot</description> | ||
|
||
<parent> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-parent</artifactId> | ||
<version>2.0.5.RELEASE</version> | ||
<relativePath/> <!-- lookup parent from repository --> | ||
</parent> | ||
|
||
<properties> | ||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> | ||
<java.version>1.8</java.version> | ||
</properties> | ||
|
||
<dependencies> | ||
<dependency> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-web</artifactId> | ||
</dependency> | ||
|
||
<!-- | ||
在 META-INF/additional-spring-configuration-metadata.json 中配置 | ||
可以去除 application.yml 中自定义配置的红线警告,并且为自定义配置添加 hint 提醒 | ||
--> | ||
<dependency> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-configuration-processor</artifactId> | ||
<optional>true</optional> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-test</artifactId> | ||
<scope>test</scope> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>org.projectlombok</groupId> | ||
<artifactId>lombok</artifactId> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>cn.hutool</groupId> | ||
<artifactId>hutool-all</artifactId> | ||
<version>4.1.14</version> | ||
</dependency> | ||
</dependencies> | ||
|
||
<build> | ||
<finalName>spring-boot-demo-properties</finalName> | ||
<plugins> | ||
<plugin> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-maven-plugin</artifactId> | ||
</plugin> | ||
</plugins> | ||
</build> | ||
|
||
</project> | ||
``` | ||
|
||
## ApplicationProperty.java | ||
|
||
```java | ||
/** | ||
* <p> | ||
* 项目配置 | ||
* </p> | ||
* | ||
* @package: com.xkcoding.properties.property | ||
* @description: 项目配置 | ||
* @author: yangkai.shen | ||
* @date: Created in 2018/9/29 10:50 AM | ||
* @copyright: Copyright (c) 2018 | ||
* @version: V1.0 | ||
* @modified: yangkai.shen | ||
*/ | ||
@Data | ||
@Component | ||
public class ApplicationProperty { | ||
@Value("${application.name}") | ||
private String name; | ||
@Value("${application.version}") | ||
private String version; | ||
} | ||
``` | ||
|
||
## DeveloperProperty.java | ||
|
||
```java | ||
/** | ||
* <p> | ||
* 开发人员配置信息 | ||
* </p> | ||
* | ||
* @package: com.xkcoding.properties.property | ||
* @description: 开发人员配置信息 | ||
* @author: yangkai.shen | ||
* @date: Created in 2018/9/29 10:51 AM | ||
* @copyright: Copyright (c) 2018 | ||
* @version: V1.0 | ||
* @modified: yangkai.shen | ||
*/ | ||
@Data | ||
@ConfigurationProperties(prefix = "developer") | ||
@Component | ||
public class DeveloperProperty { | ||
private String name; | ||
private String website; | ||
private String qq; | ||
private String phoneNumber; | ||
} | ||
``` | ||
|
||
## PropertyController.java | ||
|
||
```java | ||
/** | ||
* <p> | ||
* 测试Controller | ||
* </p> | ||
* | ||
* @package: com.xkcoding.properties.controller | ||
* @description: 测试Controller | ||
* @author: yangkai.shen | ||
* @date: Created in 2018/9/29 10:49 AM | ||
* @copyright: Copyright (c) 2018 | ||
* @version: V1.0 | ||
* @modified: yangkai.shen | ||
*/ | ||
@RestController | ||
public class PropertyController { | ||
private final ApplicationProperty applicationProperty; | ||
private final DeveloperProperty developerProperty; | ||
|
||
@Autowired | ||
public PropertyController(ApplicationProperty applicationProperty, DeveloperProperty developerProperty) { | ||
this.applicationProperty = applicationProperty; | ||
this.developerProperty = developerProperty; | ||
} | ||
|
||
@GetMapping("/property") | ||
public Dict index() { | ||
return Dict.create().set("applicationProperty", applicationProperty).set("developerProperty", developerProperty); | ||
} | ||
} | ||
``` | ||
|
||
## additional-spring-configuration-metadata.json | ||
|
||
> 位置: src/main/resources/META-INF/additional-spring-configuration-metadata.json | ||
```json | ||
{ | ||
"properties": [ | ||
{ | ||
"name": "application.name", | ||
"description": "Default value is artifactId in pom.xml.", | ||
"type": "java.lang.String" | ||
}, | ||
{ | ||
"name": "application.version", | ||
"description": "Default value is version in pom.xml.", | ||
"type": "java.lang.String" | ||
}, | ||
{ | ||
"name": "developer.name", | ||
"description": "The Developer Name.", | ||
"type": "java.lang.String" | ||
}, | ||
{ | ||
"name": "developer.website", | ||
"description": "The Developer Website.", | ||
"type": "java.lang.String" | ||
}, | ||
{ | ||
"name": "developer.qq", | ||
"description": "The Developer QQ Number.", | ||
"type": "java.lang.String" | ||
}, | ||
{ | ||
"name": "developer.phone-number", | ||
"description": "The Developer Phone Number.", | ||
"type": "java.lang.String" | ||
} | ||
] | ||
} | ||
``` | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
<modelVersion>4.0.0</modelVersion> | ||
|
||
<groupId>com.xkcoding</groupId> | ||
<artifactId>spring-boot-demo-properties</artifactId> | ||
<version>0.0.1-SNAPSHOT</version> | ||
<packaging>jar</packaging> | ||
|
||
<name>spring-boot-demo-properties</name> | ||
<description>Demo project for Spring Boot</description> | ||
|
||
<parent> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-parent</artifactId> | ||
<version>2.0.5.RELEASE</version> | ||
<relativePath/> <!-- lookup parent from repository --> | ||
</parent> | ||
|
||
<properties> | ||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> | ||
<java.version>1.8</java.version> | ||
</properties> | ||
|
||
<dependencies> | ||
<dependency> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-web</artifactId> | ||
</dependency> | ||
|
||
<!-- | ||
在 META-INF/additional-spring-configuration-metadata.json 中配置 | ||
可以去除 application.yml 中自定义配置的红线警告,并且为自定义配置添加 hint 提醒 | ||
--> | ||
<dependency> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-configuration-processor</artifactId> | ||
<optional>true</optional> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-test</artifactId> | ||
<scope>test</scope> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>org.projectlombok</groupId> | ||
<artifactId>lombok</artifactId> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>cn.hutool</groupId> | ||
<artifactId>hutool-all</artifactId> | ||
<version>4.1.14</version> | ||
</dependency> | ||
</dependencies> | ||
|
||
<build> | ||
<finalName>spring-boot-demo-properties</finalName> | ||
<plugins> | ||
<plugin> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-maven-plugin</artifactId> | ||
</plugin> | ||
</plugins> | ||
</build> | ||
|
||
</project> |
25 changes: 25 additions & 0 deletions
25
...properties/src/main/java/com/xkcoding/properties/SpringBootDemoPropertiesApplication.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
package com.xkcoding.properties; | ||
|
||
import org.springframework.boot.SpringApplication; | ||
import org.springframework.boot.autoconfigure.SpringBootApplication; | ||
|
||
/** | ||
* <p> | ||
* 启动类 | ||
* </p> | ||
* | ||
* @package: com.xkcoding.properties | ||
* @description: 启动类 | ||
* @author: yangkai.shen | ||
* @date: Created in 2018/9/29 10:48 AM | ||
* @copyright: Copyright (c)2018 | ||
* @version: V1.0 | ||
* @modified: yangkai.shen | ||
*/ | ||
@SpringBootApplication | ||
public class SpringBootDemoPropertiesApplication { | ||
|
||
public static void main(String[] args) { | ||
SpringApplication.run(SpringBootDemoPropertiesApplication.class, args); | ||
} | ||
} |
38 changes: 38 additions & 0 deletions
38
...-demo-properties/src/main/java/com/xkcoding/properties/controller/PropertyController.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
package com.xkcoding.properties.controller; | ||
|
||
import cn.hutool.core.lang.Dict; | ||
import com.xkcoding.properties.property.ApplicationProperty; | ||
import com.xkcoding.properties.property.DeveloperProperty; | ||
import org.springframework.beans.factory.annotation.Autowired; | ||
import org.springframework.web.bind.annotation.GetMapping; | ||
import org.springframework.web.bind.annotation.RestController; | ||
|
||
/** | ||
* <p> | ||
* 测试Controller | ||
* </p> | ||
* | ||
* @package: com.xkcoding.properties.controller | ||
* @description: 测试Controller | ||
* @author: yangkai.shen | ||
* @date: Created in 2018/9/29 10:49 AM | ||
* @copyright: Copyright (c) 2018 | ||
* @version: V1.0 | ||
* @modified: yangkai.shen | ||
*/ | ||
@RestController | ||
public class PropertyController { | ||
private final ApplicationProperty applicationProperty; | ||
private final DeveloperProperty developerProperty; | ||
|
||
@Autowired | ||
public PropertyController(ApplicationProperty applicationProperty, DeveloperProperty developerProperty) { | ||
this.applicationProperty = applicationProperty; | ||
this.developerProperty = developerProperty; | ||
} | ||
|
||
@GetMapping("/property") | ||
public Dict index() { | ||
return Dict.create().set("applicationProperty", applicationProperty).set("developerProperty", developerProperty); | ||
} | ||
} |
Oops, something went wrong.