配置类详解
- 新建一个任意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;
}
}
配置文件隔离
- 为不同的环境创建不同的类即可,在main方法里 传入对应环境的 配置类对象即可使用
- 还可以使用父类来配置公共的配置