spring cloud config搭建 藉助sts(spring官方版eclipse)
第一步:創建項目
1.
2.
3.
經過上述操作生成了項目
第二步:引入必要的pom文件
附上pom.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.whty</groupId>
<artifactId>spring_config</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>demo</name>
<description></description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.0.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>Finchley.RC1</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>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.3</version>
</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>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</project>
第三步:編寫配置文件
需要做的
(1)設置端口
(2)設置服務名
(3)讀取配置信息方式:native使用本地屬性文件,jdbc從數據庫中讀取
(4)配置數據源
(5)配置查詢配置信息的sql
附上配置文件
#配置工程啓動端口
server.port=8000
spring.application.name=config-center
#讀取配置信息方式:native使用本地屬性文件,jdbc從數據庫中讀取
spring.profiles.active = jdbc
#屬性文件應用場景標識,配置文件命名是有規則的,規則爲應用場景的${spring.application.name}-${spring.cloud.config.profile}.properties
#spring.cloud.config.profile=configInfo
#屬性文件地址,只要指定文件夾的路徑,在工程中格式舉例爲classpath:/properties,配置文件在本地但不在工程中格式舉例爲:E:/properties
#spring.cloud.config.server.native.searchLocations=classpath:/properties
spring.cloud.config.server.jdbc=true
spring.cloud.config.server.jdbc.sql=SELECT key_info, value_info from cc_config_info where (application_name=? or application_name='GLOBAL') and profile=? and label=?
#####數據庫配置信息#####
spring.datasource.name: hx_config
spring.datasource.url: jdbc:mysql://10.5.200.151:3306/hx_config?useUnicode=true&characterEncoding=utf8&autoReconnect=true
spring.datasource.username: examkw
spring.datasource.password: exama1r1
spring.datasource.driver-class-name: com.mysql.jdbc.Driver
# 使用druid數據源
spring.datasource.type: com.alibaba.druid.pool.DruidDataSource
spring.datasource.filters: stat,slf4j
spring.datasource.maxActive: 20
spring.datasource.initialSize: 1
spring.datasource.maxWait: 60000
spring.datasource.minIdle: 1
spring.datasource.timeBetweenEvictionRunsMillis: 60000
spring.datasource.minEvictableIdleTimeMillis: 300000
spring.datasource.validationQuery: select 'x'
spring.datasource.testWhileIdle: true
spring.datasource.testOnBorrow: false
spring.datasource.testOnReturn: false
spring.datasource.poolPreparedStatements: true
spring.datasource.maxPoolPreparedStatementPerConnectionSize: 20
spring.datasource.maxOpenPreparedStatements: 20
#==================mybaties Config Start==================
#ORM Bean Package
mybatis.mapper-locations=classpath:mybatis/*.xml
mybatis.type-aliases-package: com.whty.hxx.config.web.model
mapper.mappers: com.whty.hxx.config.web.mapper
mapper.not-empty: false
mapper.identity: MYSQL
#pagehelper
pagehelper.helperDialect: mysql
pagehelper.reasonable: true
pagehelper.supportMethodsArguments: true
pagehelper.params: count=countSql
pagehelper.returnPageInfo: check
#打印mybatiesSql語句
logging.level.com.whty.hxx.config.web.mapper=DEBUG
數據庫表結構
CREATE TABLE `cc_config_info` (
`config_info_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
`key_info` varchar(100) DEFAULT NULL COMMENT '屬性名',
`value_info` varchar(255) DEFAULT NULL COMMENT '屬性值',
`application_name` varchar(100) DEFAULT NULL COMMENT '應用名,GLOBAL爲全局',
`label` varchar(20) DEFAULT 'master' COMMENT '配置標識',
`profile` varchar(20) DEFAULT 'configInfo',
`remark` varchar(255) DEFAULT NULL COMMENT '備註',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '創建時間',
PRIMARY KEY (`config_info_id`)
) ENGINE=MyISAM AUTO_INCREMENT=1055 DEFAULT CHARSET=utf8 COMMENT='配置信息';
啓動
啓動測試項目
啓動成功
讀取到了