代碼仍是使用以前的代碼,若是須要完整代碼,請拉倒文章底部獲取java
config-server
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency>
<?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.didispace</groupId> <artifactId>config-server</artifactId> <version>1.0.0</version> <packaging>jar</packaging> <name>config-server</name> <description>Spring Cloud project</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.7.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Brixton.SR5</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
@EnableConfigServer @SpringBootApplication public class Application { public static void main(String[] args) { new SpringApplicationBuilder(Application.class).web(true).run(args); } }
SpringcloudConfig
from=git-dev-1.0 from=git-prod-1.0 from=git-test-1.0 from=git-default-1.0
spring.application.name=config-server server.port=7001 # git倉庫 spring.cloud.config.server.git.uri=https://github.com/HealerJean/SpringcloudConfig/ spring.cloud.config.server.git.searchPaths=respo spring.cloud.config.label=master #公開倉庫不須要寫用戶名和密碼,若是是私有倉庫則須要些用戶名和密碼 spring.cloud.config.server.git.username= spring.cloud.config.server.git.password=
瀏覽器訪問http://localhost:7001/didispace/prod/master //+分支名稱git
name:應用名稱 didispace label 表示分支名稱 master version 表示git上對應的版本號 { "name": "didispace", "profiles": ["prod"], "label": "master", "version": "68a075d11aea67d4989989c70152a9ac53367e82", "propertySources": [{ "name": "https://github.com/HealerJean123/SpringcloudConfig/respo/didispace-prod.properties", "source": { "from": "git-prod-1.0" } }, { "name": "https://github.com/HealerJean123/SpringcloudConfig/respo/didispace.properties", "source": { "from": "git-default-1.0" } }] }
• /{application}/{profile}[/{label}] 上上面的連接http://localhost:7001/didispace/prod/master • /{application}-{profile}.yml • /{label}/{application}-{profile}.yml • /{label}/{application}-{profile}.properties • /{application}-{profile}.properties http://localhost:7001/didispace-dev.properties
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency>
<?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.didispace</groupId> <artifactId>config-client</artifactId> <version>1.0.0</version> <packaging>jar</packaging> <name>config-client</name> <description>Spring Cloud project</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.7.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Brixton.SR5</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
server.port=7002 spring.application.name=didispace spring.cloud.config.profile=dev spring.cloud.config.label=master spring.cloud.config.uri=http://localhost:7001/
**@RefreshScope
**spring-cloud 實現更新配置不用重啓服務 @FreshScopegithub
@RefreshScope @RestController public class TestController { @Value("${from}") private String from; @RequestMapping("/from") public String from() { return this.from; } }
使用以前的註冊中心 1111web
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency>
@EnableDiscoveryClient @EnableConfigServer @SpringBootApplication public class Application { public static void main(String[] args) { new SpringApplicationBuilder(Application.class).web(true).run(args); } }
#eurake #指定服務註冊中心 eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency>
@EnableDiscoveryClient @SpringBootApplication public class Application { public static void main(String[] args) { new SpringApplicationBuilder(Application.class).web(true).run(args); } }
server.port=7002 spring.application.name=didispace spring.cloud.config.enabled=true spring.cloud.config.discovery.service-id=CONFIG-SERVER spring.cloud.config.profile=dev
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency>
<?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.carl.auth</groupId> <artifactId>sso-config</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>sso-config</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.10.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> <spring-cloud.version>Edgware.SR2</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
@EnableConfigServer @SpringBootApplication public class SsoConfigApplication { public static void main(String[] args) { SpringApplication.run(SsoConfigApplication.class, args); } }
server: #服務端口 port: 8888 #訪問路徑 context-path: /config #指定日誌輸出文件 logging: file: "logs/sso-config.log" info: name : "配置中心" --- spring: profiles: #本地配置文件 active: #配置文件本地化 - native application: #指定應用名稱 name: sso-config
寫入內容spring
hello_key=value
name:應用名稱 sso -dev.properties配置文件的名稱 label 表示分支名稱 master version 表示git上對應的版本號 { "name": "sso", "profiles": ["dev"], "label": null, "version": null, "state": null, "propertySources": [{ "name": "classpath:/config/sso-dev.properties", "source": { "hello_key": "value" } }] }
#指定日誌文件 logging.file=logs/cas.log info.name=單點登陸系統 #定義application.name的id spring.application.name=sso #尋找配置中心爲sso-dev.properties spring.profiles.active=dev #指定配置中心地址 spring.cloud.config.uri=http://localhost:8888/config #開啓配置中心 spring.cloud.config.enabled=true #支持自動任務去配置中心刷新配置 spring.cloud.config.watch.enabled=true #30秒刷新一次 spring.cloud.config.watch.initialDelay=30000 #請求配置中心超市 spring.cloud.config.watch.delay=1000 #檢查配置健康 health.config.enabled=true
感興趣的,歡迎添加博主微信,
哈,博主很樂意和各路好友交流,若是滿意,請打賞博主任意金額,感興趣的在微信轉帳的時候,備註您的微信或者其餘聯繫方式。添加博主微信哦。
請下方留言吧。可與博主自由討論哦apache
微信 | 微信公衆號 | 支付寶 |
---|---|---|
![]() |
![]() |
![]() |