All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.hothub.module.common.configuration.PropertiesConfiguration Maven / Gradle / Ivy

The newest version!
package org.hothub.module.common.configuration;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.Map;

/**
 * 参考:
 *
 * https://blog.csdn.net/xujian_2001/article/details/79027026
 */
@Component
@ConfigurationProperties(prefix = "properties")
public class PropertiesConfiguration {

    //定时任务
    private Schedule schedule;

    //微服务
    private Map microService;

    //数据源
    private Map datasource;

    //凭证相关
    private Map certificate;

    //应用设置
    private Map project;

    //错误页相关
    private Error error;

    //配置相关
    private Map config;

    //SnowFlake 雪花ID节点
    private SnowFlake snowflake;


    public Schedule getSchedule() {
        return schedule;
    }

    public void setSchedule(Schedule schedule) {
        this.schedule = schedule;
    }

    public Map getMicroService() {
        return microService;
    }

    public void setMicroService(Map microService) {
        this.microService = microService;
    }

    public Map getDatasource() {
        return datasource;
    }

    public void setDatasource(Map datasource) {
        this.datasource = datasource;
    }

    public Map getCertificate() {
        return certificate;
    }

    public void setCertificate(Map certificate) {
        this.certificate = certificate;
    }

    public Map getProject() {
        return project;
    }

    public void setProject(Map project) {
        this.project = project;
    }

    public Error getError() {
        return error;
    }

    public void setError(Error error) {
        this.error = error;
    }

    public Map getConfig() {
        return config;
    }

    public void setConfig(Map config) {
        this.config = config;
    }



    //内部类
    private static class Schedule {

        private Map cron;

        public Map getCron() {
            return cron;
        }

        public void setCron(Map cron) {
            this.cron = cron;
        }
    }


    private static class MicroService {

        private String  name;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }


    private static class Datasource {

        private String name;
        private String url;
        private String username;
        private String password;
        private String type;
        private String driverClassName;


        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }

        public String getUsername() {
            return username;
        }

        public void setUsername(String username) {
            this.username = username;
        }

        public String getPassword() {
            return password;
        }

        public void setPassword(String password) {
            this.password = password;
        }

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }

        public String getDriverClassName() {
            return driverClassName;
        }

        public void setDriverClassName(String driverClassName) {
            this.driverClassName = driverClassName;
        }
    }


    private static class Certificate {

        private Map element;


        public Map getElement() {
            return element;
        }

        public void setElement(Map element) {
            this.element = element;
        }
    }



    private static class Error {

        private ErrorPageType pageType;
        private String viewPath;


        public ErrorPageType getPageType() {
            return pageType;
        }

        public void setPageType(ErrorPageType pageType) {
            this.pageType = pageType;
        }

        public String getViewPath() {
            return viewPath;
        }

        public void setViewPath(String viewPath) {
            this.viewPath = viewPath;
        }
    }



    private static class SnowFlake {

        private long machineId;
        private long datacenterId;


        public long getMachineId() {
            return machineId;
        }

        public void setMachineId(long machineId) {
            this.machineId = machineId;
        }

        public long getDatacenterId() {
            return datacenterId;
        }

        public void setDatacenterId(long datacenterId) {
            this.datacenterId = datacenterId;
        }
    }



    public enum ErrorPageType {
        JSON,
        HTML;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy