配置类详解

  • 新建一个任意java类,继承MarsConfig类
  • 所有配置项都有默认值,如果需要自己配置的话,重写对应的方法即可

所有的配置项如下

如有默认值,而你又没有特别需要,可以不重写对应的方法,框架会直接采用默认值

public class DemoConfig extends MarsConfig {

    // 数据源,必配,用的是阿里巴巴的 druid数据源,其他属性可自行查阅
    @Override
    public List<Properties> jdbcProperties() {
        List<Properties> list = new ArrayList<Properties>();

        Properties properties = new Properties();
        properties.put("name","dataSource");
        properties.put("url","jdbc:mysql://10.211.55.15:3306/mars?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8");
        properties.put("username","root");
        properties.put("password","Root123456!");
        properties.put("driverClassName","com.mysql.jdbc.Driver");

        list.add(properties);

        // 如果要多个数据源,add多个到list即可
        return list;
    }

    /******* 以下内容,如果不需要或者用默认值,则可以不重写 *******/

    // 端口号,默认8080
    @Override
    public int port() {
        return super.port();
    }

    // 请求配置
    @Override
    public RequestConfig requestConfig() {
        RequestConfig requestConfig = new RequestConfig();
        // 读取请求数据超时时间,单位: 毫秒
        requestConfig.setReadTimeout(10000);
        // 每次读取多少请求数据到缓冲区,单位: byte
        requestConfig.setReadSize(1*1024*1024);
        return requestConfig;
    }

    // 线程池配置,用来处理请求的,有默认值
    @Override
    public ThreadPoolConfig threadPoolConfig() {
        ThreadPoolConfig threadPoolConfig = new ThreadPoolConfig();
        // 核心线程数,默认5个
        threadPoolConfig.setCorePoolSize(5);
        // 最大线程数,默认2000
        threadPoolConfig.setMaxPoolSize(2000);
        // 线程闲置时间, 默认20秒
        threadPoolConfig.setKeepAliveTime(20);
        // 最大连接数,默认2000
        threadPoolConfig.setBackLog(2000);
        return threadPoolConfig;
    }

    // jwt失效时间,默认一天
    @Override
    public int jwtTime() {
        return super.jwtTime();
    }

    // 文件上传大小限制,默认单个文件2M,一次最多传10M
    @Override
    public FileUploadConfig fileUploadConfig() {
        return super.fileUploadConfig();
    }

    // 跨域配置,默认可以跨域
    @Override
    public CrossDomainConfig crossDomainConfig() {
        return super.crossDomainConfig();
    }

    // redis连接池,如果项目不需要连redis,可以不重写
    @Override
    public JedisConfig jedisConfig() {
        return super.jedisConfig();
    }

    // 自定义配置,如果不需要,可以不重写
    @Override
    public Map<String, String> marsValues() {
        Map<String, String> map = new HashMap<String, String>();
        map.put("file.upload.path","/data/upload/files");
        map.put("notice.url","http://aaa.com");
        return map;
    }
}

配置文件隔离

  1. 为不同的环境创建不同的类即可,在main方法里 传入对应环境的 配置类对象即可使用
  2. 还可以使用父类来配置公共的配置

results matching ""

    No results matching ""