Closed QigangZhong closed 6 years ago
最简单的方法是继承PropertyFileConfigureProvider。重载getDataSourceConfigure方法。在这个方法里面做敏感信息的解密。: @Override public DataSourceConfigure getDataSourceConfigure(String dbName) { DataSourceConfigure conf = new DataSourceConfigure();
conf.setUserName(decode(databaseConfig.getProperty(dbName + USER_NAME)));
conf.setPassword(decode(databaseConfig.getProperty(dbName + PASSWORD)));
conf.setConnectionUrl(decodedatabaseConfig.getProperty(dbName + CONNECTION_URL)));
conf.setDriverClass(decode(databaseConfig.getProperty(dbName + DRIVER)));
return conf;
}
private String decode(String encoded) {..}
dal.xml里面这么配: -xxx-代表:xml元素名 -ConnectionLocator- -settings- -path-D:\dal\database.properties-path- -dataSourceConfigureProvider-YourBelovedPropertyFileConfigureProvider-dataSourceConfigureProvider- -settings- -ConnectionLocator-
thx. 不过这样还是甩不掉dal.xml这个配置, 我觉得理想的状态是不要强依赖xml这种配置文件, 不过还是感谢, 我会在你们源码基础上作改进
可以考虑com.ctrip.platform.dal.dao.configure下的DalConfigLoader。具体用法可以问王烨楠
麻烦问下怎么收藏这个答案,github没个收藏功能的吗(;′⌒`)
项目中使用dal之后必须接入dal.xml/datasource.xml这2个配置文件,而且其中的密码都必须是明文的,有好的方式解决这个问题吗?