1ãç®ä»
æ¬æ主è¦å 容æ¯åºäºjdbcæ建é ç½®ä¸å¿ï¼ä½¿åºç¨ä»é ç½®ä¸å¿è¯»åé 置信æ¯å¹¶æå注åå°æ³¨åä¸å¿ï¼å ³äºé 置信æ¯è¡¨ç»æä» ä¾åèï¼å¤§å®¶å¯ä»¥æ ¹æ®å ·ä½éè¦è¿è¡æ©å±ã
2ãConfig Server æ建
2.1ãMaven ä¾èµ
å 为éè¦ä»æ°æ®åºè¯»åé ç½®æ件ï¼æ以éè¦æ·»å MySQLçä¾èµ
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
2.2ãJDBC æ°æ®åºåå¤
è¿éç表ç»æåªä¸ºæµè¯ä½¿ç¨ï¼å ·ä½å¯æ ¹æ®ä¸å¡éè¦è¿è¡è°æ´ï¼æ¤ç»æä» ä¾åè
-- ----------------------------
-- Table structure for properties
-- ----------------------------
DROP TABLE IF EXISTS `properties`;
CREATE TABLE `properties` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`key` varchar(50) DEFAULT NULL,
`value` varchar(500) DEFAULT NULL,
`application` varchar(50) DEFAULT NULL,
`profile` varchar(50) DEFAULT NULL,
`label` varchar(50) DEFAULT NULL,
`remark` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;
-- ----------------------------
-- Records of properties
-- ----------------------------
BEGIN;
INSERT INTO `properties` VALUES (2, 'eureka.client.serviceUrl.defaultZone', '${EUREKA_SERVICE_URL:http://localhost:8888}/eureka/', 'eureka-client', 'dev', 'v0.0.1', 'é
ç½®ä¸å¿å°å');
INSERT INTO `properties` VALUES (3, 'management.endpoint.conditions.enabled', 'true', 'eureka-client', 'dev', 'v0.0.1', 'å¯ç¨ç»ç»ç¹');
INSERT INTO `properties` VALUES (4, 'eureka.instance.prefer-ip-address', 'true', 'eureka-client', 'dev', 'v0.0.1', '使ç¨IPå°å注åå°æ³¨åä¸å¿');
INSERT INTO `properties` VALUES (5, 'spring.application.name', 'eureka-client', 'eureka-client', 'dev', 'v0.0.1', 'åºç¨å称');
INSERT INTO `properties` VALUES (6, 'eureka.instance.instanceId', '${spring.application.name}@${spring.cloud.client.ip-address}@${server.port}', 'eureka-client', 'dev', 'v0.0.1', 'å¨æ³¨åä¸å¿çå®ä¾ID');
INSERT INTO `properties` VALUES (7, 'management.endpoints.web.exposure.include', '*', 'eureka-client', 'dev', 'v0.0.1', 'å¼æ¾åªäºçæ§ç«¯å£');
INSERT INTO `properties` VALUES (8, 'server.port', '8000', 'eureka-client', 'dev', 'v0.0.1', 'åºç¨æå¡ç«¯å£å·');
COMMIT;
2.3ãConfig Server é ç½®
server.port=1000
spring.application.name=lkf-cloud-config-jdbc
spring.profiles.active=jdbc
#æ°æ®åºé
ç½®
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/lkf_cloud?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#读åé
ç½®æ件çSQLè¯å¥
spring.cloud.config.server.jdbc.sql=SELECT `key`,`value` FROM properties WHERE application=? AND PROFILE=? AND label=?
# é
ç½®ä¸å¿apiåç¼
spring.cloud.config.server.prefix=lkf
å¯å¨é ç½®ä¸å¿ï¼è®¿é® http://localhost:1000/lkf/eureka-client/dev/v0.0.1ï¼å¾å°åºç¨ä¸º eureka-client ï¼å¼æ¾ç¯å¢ãdevã,çæ¬å·ä¸ºãv0.0.1ã çé 置信æ¯
{
"name": "eureka-client",
"profiles": ["dev"],
"label": "v0.0.1",
"version": null,
"state": null,
"propertySources": [{
"name": "eureka-client-dev",
"source": {
"eureka.client.serviceUrl.defaultZone": "${EUREKA_SERVICE_URL:http://localhost:8888}/eureka/",
"management.endpoint.conditions.enabled": "true",
"eureka.instance.prefer-ip-address": "true",
"spring.application.name": "eureka-client",
"eureka.instance.instanceId": "${spring.application.name}@${spring.cloud.client.ip-address}@${server.port}",
"management.endpoints.web.exposure.include": "*",
"server.port": "8000"
}
}]
}
è³æ¤ï¼åºäºjdbcçé ç½®ä¸å¿å·²ç»æåä»MySQLæ°æ®åºè¯»åé 置信æ¯ï¼é ç½®ä¸å¿æ建å®æ
3ãConfig Client é ç½®
3.1ãMaven ä¾èµ
<!--注åä¸å¿å®¢æ·ç«¯-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--actuator çæ§-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--é
ç½®ä¸å¿å®¢æ·ç«¯-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
3.2ãConfig Client é ç½®
#é
ç½®ç¯å¢
spring.cloud.config.profile=dev
#é
ç½®ä¸å¿å°å
spring.cloud.config.uri=http://localhost:1000/lkf
#é
ç½®æ件å称
spring.cloud.config.name=eureka-client
#é
ç½®æ件çæ¬å·
spring.cloud.config.label=v0.0.1
å¯å¨åºç¨ï¼å¨æµè§å¨è®¿é®æ³¨åä¸å¿ï¼http://127.0.0.1:8888ï¼åç°åºç¨å·²æåä»æ³¨åä¸å¿è¯»åé ç½®æ件并注åå°æ³¨åä¸å¿