Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
  • Loading branch information
qiujiayu committed Sep 11, 2018
1 parent 1e7d215 commit 9107fcc
Show file tree
Hide file tree
Showing 382 changed files with 56,917 additions and 0 deletions.
24 changes: 24 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
Thumbs.db
.DS_Store
.gradle
build/
classes/
.idea
*.iml
*.ipr
*.iws
.project
.settings
.classpath
bin/
.git/
catalina*
gradle
/gradlew
gradlew*
.apt_generated
.factorypath
.springBeans
.lock
*.log
*.cache
47 changes: 47 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# 配置中心使用手册

作者:汤启华

------


## 1. 用户管理
+ **用户管理界面**
![用户管理](doc/UserManage.png)
* 建议首次登陆点击右上角的用户名进行**修改密码**
* 用户名右侧为**退出登陆**
+ **添加用户**
![用户管理-添加](doc/UserManage-add.png)
+ 是否为管理员 : 管理员,普通用户(普通用户只有应用配置和全局配置权限,注意:没有管理应用的权限)
+ 应用权限 :分配给用户**在配置中心的应用**的配置权限,即该账户能够配置的对应环境的应用系统配置
+ 环境权限 :分配指定环境的配置权限
* 其他 : 用户修改时可以停用账户

## 2. 环境管理
![环境管理](doc/envManage.png)
## 3. 应用管理
![应用管理](doc/applicaionManage.png)
**注意:配置的应用名必须和spring.application.name一致,这样配置才能匹配上**
## 4. 应用配置(主要)
![应用配置](doc/applicationConfig.png)

+ 版本号 :每次配置会默认提供从1递增的版本号进行版本控制

![应用配置-历史](doc/applicationConfig-history.png)

+ 替换 :更换版本
+ 对比 :查看两个版本的修改

![应用配置-添加](doc/applicationConfig-add.png)

+ 基本配置 :
* 环境 :环境数据项下拉
* 应用系统 :应用管理中的数据,动态查询下拉
* 配置类型 : 暂只支持YAML
* 备注 :操作说明等
+ 配置内容 :
直接粘贴配置到左方框,会解析成JSON
若解析失败,请注意格式问题

## 5. 全局配置
![全局配置](doc/globalConfig.png)
30 changes: 30 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
buildscript {
ext {
sxGradleHome = "https://github.com/sxfad/gradle-scripts/raw/master/"
swaggerVersion = "2.8.0"
}
apply from: sxGradleHome + 'maven.gradle'
apply from: sxGradleHome + 'spring-cloud-edgware.gradle'
repositories {
maven { url REPOSITORY_URL }
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}

subprojects {
apply from: sxGradleHome + 'maven.gradle'
apply from: sxGradleHome + 'spring-cloud.gradle'

version = '1.1.0-SNAPSHOT'
group = 'com.suixingpay.config'
description = '配置中心'

dependencies {
compileOnly("org.springframework.boot:spring-boot-configuration-processor")
compileOnly("org.projectlombok:lombok")
testCompile('org.projectlombok:lombok')
testCompile("org.springframework.boot:spring-boot-configuration-processor")
}
}
Binary file added doc/UserManage-add.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/UserManage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/applicaionManage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/applicationConfig-add.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/applicationConfig-history.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/applicationConfig.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/envManage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/globalConfig.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
504 changes: 504 additions & 0 deletions logs/logs/apps/20180911/error.log.0

Large diffs are not rendered by default.

1,072 changes: 1,072 additions & 0 deletions logs/logs/apps/20180911/server.log.0

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions settings.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
rootProject.name = 'config-keeper'
include 'suixingpay-config-front'
include 'suixingpay-config-common'
include 'suixingpay-config-server'
include 'suixingpay-config-client'
include 'suixingpay-config-client-demo'
8 changes: 8 additions & 0 deletions suixingpay-config-client-demo/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
dependencies {
compile project(":suixingpay-config-client")
compile 'org.springframework.boot:spring-boot-autoconfigure'
compile 'org.springframework.boot:spring-boot-starter-actuator'
compile 'org.springframework.boot:spring-boot-starter-web'

compileOnly('org.projectlombok:lombok')
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package com.suixingpay.cloud.test;

import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.core.util.StatusPrinter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.Banner;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.context.ApplicationContext;
import org.springframework.core.env.Environment;

/**
* 测试应用
*
* @author: qiujiayu[qiu_jy@suixingpay.com]
* @date: 2017年9月1日 下午5:08:52
* @version: V1.0
* @review: qiujiayu[qiu_jy@suixingpay.com]/2017年9月1日 下午5:08:52
*/
@SpringBootApplication
public class ConfigTestApplication {
protected final static Logger logger = LoggerFactory.getLogger(ConfigTestApplication.class);

public static void main(String[] args) {
ApplicationContext context = configureApplication(new SpringApplicationBuilder()).run(args);
Environment env = context.getBean(Environment.class);
String[] profiles = env.getActiveProfiles();
for (String tmp : profiles) {
logger.info("active profile--->" + tmp);
}
logger.info("file=" + env.getProperty("file"));
logger.info("file2==" + env.getProperty("file2"));
logger.info("dataApplication is sussess!");
// org.springframework.cloud.endpoint.GenericPostableMvcEndpoint tt;
// org.springframework.cloud.endpoint.RefreshEndpoint d;
// PropertySourceBootstrapConfiguration cc;

// print internal state
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
StatusPrinter.print(lc);
}

private static SpringApplicationBuilder configureApplication(SpringApplicationBuilder builder) {
return builder.sources(ConfigTestApplication.class).bannerMode(Banner.Mode.OFF);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package com.suixingpay.cloud.test.config;

import com.suixingpay.cloud.test.dto.DefaultUserWapper;
import com.suixingpay.cloud.test.dto.UserDO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
* TODO
*
* @author: qiujiayu[qiu_jy@suixingpay.com]
* @date: 2017年9月26日 上午10:39:30
* @version: V1.0
* @review: qiujiayu[qiu_jy@suixingpay.com]/2017年9月26日 上午10:39:30
*/
@Configuration
@EnableConfigurationProperties(DefaultUserProperties.class)
public class ConfigTest {

@Autowired
private DefaultUserProperties userProperties;

@RefreshScope
@Bean(name = "defaultUser")
public UserDO defaultUser() {
UserDO userDO = new UserDO();
userDO.setId(userProperties.getId());
userDO.setName(userProperties.getName());
return userDO;
}

// @RefreshScope 这种手动注入的bean, 不需要加@RefreshScope 也会动态刷新
@Bean
public DefaultUserWapper defaultUserWapper(@Qualifier("defaultUser") UserDO defaultUser) {
DefaultUserWapper wapper = new DefaultUserWapper();
wapper.setUserDO(defaultUser);
return wapper;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.suixingpay.cloud.test.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
* @author: qiujiayu[qiu_jy@suixingpay.com]
* @date: 2017年9月6日 下午6:07:52
* @version: V1.0
* @review: qiujiayu[qiu_jy@suixingpay.com]/2017年9月6日 下午6:07:52
*/
@Data
@ConfigurationProperties(prefix = "suixingpay.defaultuser")
public class DefaultUserProperties {

private Long id;

private String name;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.suixingpay.cloud.test.dto;

import lombok.Data;

/**
* TODO
*
* @author: qiujiayu[qiu_jy@suixingpay.com]
* @date: 2017年12月11日 下午7:59:23
* @version: V1.0
* @review: qiujiayu[qiu_jy@suixingpay.com]/2017年12月11日 下午7:59:23
*/
@Data
public class DefaultUserWapper {
private UserDO userDO;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.suixingpay.cloud.test.dto;

import lombok.Data;

/**
* TODO
*
* @author: qiujiayu[qiu_jy@suixingpay.com]
* @date: 2017年9月7日 下午5:10:47
* @version: V1.0
* @review: qiujiayu[qiu_jy@suixingpay.com]/2017年9月7日 下午5:10:47
*/
@Data
public class UserDO {

private Long id;

private String name;

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.suixingpay.cloud.test.service;

import com.suixingpay.cloud.test.dto.UserDO;

/**
* TODO
*
* @author: qiujiayu[qiu_jy@suixingpay.com]
* @date: 2017年9月7日 下午5:10:13
* @version: V1.0
* @review: qiujiayu[qiu_jy@suixingpay.com]/2017年9月7日 下午5:10:13
*/
public interface UserService {
/**
* 获取用户信息
*
* @param id
* @return
*/
UserDO getUserById(Integer id);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.suixingpay.cloud.test.service;

import com.suixingpay.cloud.test.dto.UserDO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Service;

/**
* TODO
*
* @author: qiujiayu[qiu_jy@suixingpay.com]
* @date: 2017年9月7日 下午5:11:34
* @version: V1.0
* @review: qiujiayu[qiu_jy@suixingpay.com]/2017年9月7日 下午5:11:34
*/
@Service
@Slf4j
@RefreshScope
public class UserServiceImpl implements UserService {

public UserServiceImpl() {
log.info("UserServiceImpl init ... ...");
}

@Override
public UserDO getUserById(Integer id) {
// TODO Auto-generated method stub
return null;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package com.suixingpay.cloud.test.web;

import com.suixingpay.cloud.test.dto.DefaultUserWapper;
import com.suixingpay.cloud.test.dto.UserDO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
* TODO
*
* @author: qiujiayu[qiu_jy@suixingpay.com]
* @date: 2017年9月6日 下午6:10:42
* @version: V1.0
* @review: qiujiayu[qiu_jy@suixingpay.com]/2017年9月6日 下午6:10:42
*/
@RestController
// @RefreshScope // 如果不加此,下面的@Value 无法刷新
public class ConfigTestController {

@Autowired
@Qualifier("defaultUser")
private UserDO defaultUser;

@Value("${configSwitch:false}")
private boolean configSwitch = false;

@Autowired
private DefaultUserWapper defaultUserWapper;

@GetMapping({"/", "index"})
public String getConfig() {
return defaultUser.toString() + "--" + configSwitch + ";defaultUserWapper-->" + defaultUserWapper;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
file: app
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
suixingpay:
config:
enabled: true
uris:
- http://localhost:8080/
username: admin
password: 123456
16 changes: 16 additions & 0 deletions suixingpay-config-client-demo/src/main/resources/bootstrap.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
spring:
application:
name: config-demo

profiles:
active: ${profile:dev}

server:
port: 8088

suixingpay:
config:
cache-path: ${APP_HMOE:.}/config/
management:
security:
enabled: false
Loading

0 comments on commit 9107fcc

Please sign in to comment.