-
1、 生成publicKey和password
- 找到maven資源庫中druid的jar包,如:C:\Users\a\.m2\repository\com\alibaba\druid\1.1.6,其中a為用戶名。
- 打開cmd,將路徑切換至C:\Users\a\.m2\repository\com\alibaba\druid\1.1.6后運行命令:java -cp .\druid-1.1.6.jar com.alibaba.druid.filter.config.ConfigTools pass@word1 (此為數據庫實際密碼)
- 打開application.yml文件,將druid下的password的值替換為上面的password的值,再新增一個publicKey的屬性,並賦予上面得到的值
2、 修改web項目下config文件夾下DruidDataSourceConfigurer文件,
- dataSource方法中增加四句代碼(Properties 引入 import java.util.Properties;)
public DruidDataSource dataSource() throws SQLException {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setProxyFilters(Lists.newArrayList(statFilter(),configFilter()));
Properties properties=new Properties();
properties.setProperty("config.decrypt","true");
properties.setProperty("config.decrypt.key",publicKey);
dataSource.setConnectProperties(properties);
return dataSource;
}
- 類中增加類變量(@Value 引入 import org.springframework.beans.factory.annotation.Value;)
@Value("${spring.druid.publicKey}")
private String publicKey;
- 類中增加方法
/**
* 定義空Config類用於加密類的加載
* */@Bean
public ConfigFilter configFilter(){
ConfigFilter configFilter=new ConfigFilter();
return configFilter;
}