工作小记:外置配置文件+多种数据库支持

需求

  1. 要部署到客户的服务器上,需支持多种系统,主要是windows、linux
  2. 支持jar包外的配置文件配置数据源信息
  3. 数据源支持多种数据库,主要是mysql、oracle、sqlserver

解决方案

需求一

要部署到客户的服务器上,需支持多种系统,主要是windows、linux

解决思路

  • 关注到win和linux的区别,其他都好说,就是路径的分隔符需要区分一下
  • linux部署简单,但win需要部署成服务,需要借助winsw,参考用winsw将jar包做成window后台服务

涉及代码

为解决分隔符问题,先找方法区分操作系统

// 获取操作系统名称
String osName = System.getProperty("os.name");
// 区分操作系统
osName.startsWith("Windows");//Windows
osName.startsWith("Linux");//Linux
osName.startsWith("Mac");//Mac

需求二

支持jar包外的配置文件配置数据源信息

解决思路

  • 外置配置文件置于jar包相同目录下,配置文件名称定为datasource.properties,简单点
  • 获取项目绝对路径(注意此处就用到区分分隔符)

涉及代码

	private Properties getProperties() {
   
        Properties properties = new Properties();
        try {
   
            String path = System.getProperty("user.dir");
            String sp = "/";
            if (osName.startsWith("Windows")) {
   
                sp = "\\";
            }
            log.info("外部配置文件全路径:{}", path + sp + "datasource.properties");
            FileInputStream inputStream = new FileInputStream(path + sp + "datasource.properties");

            properties.load(inputStream);
            inputStream.close();
        } catch (IOException e) {
   
            log.error("获取外部配置失败:{}", e.getMessage());
            throw new RuntimeException(e);
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值