-
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;
}