spring-boot-route(十一)数据库配置信息加密
Spring Boot最大的特点就是自动配置了,大大的减少了传统Spring框架的繁琐配置,通过几行简单的配置就可以完成其他组件的接入。比如你想要连接mysql数据库,只需要的配置文件里面加入mysql的一些配置信息就可以了。为了保护数据的安全性,越来越多的公司选择加密这些重要信息。接下来一起来看看如何实现配置加密文件并且成功连接数据库的。
配置信息加密有好几种方式,这里我只详细的写一下我比较常用的一种方式。首先通过某种加密算法将用户名和密码进行加密,然后在配置文件中用加密串代替原来的明文。然后自定义数据源,在自定义数据源中解密用户名和密码。
SpringBoot自动装配
SpringBoot的自动装配,以前的推文中也详细的讲到过,今天简单来复习一下。在每个Spring Boot的应用的启动类上都能发现有一个注解@SpringBootApplication
,这个注解包含的注解@EnableAutoConfiguration
就是用来完成自动装配的。这个注解通过导入类AutoConfigurationImportSelector
,这个类中有一个方法selectImports
,其作用就是扫描所有jar包中的META-INF/spring.factories
文件,去加载里面的具体实现类,完成自动装配。
在spring-boot-autoconfigure
jar包的META-INF/spring.factories
文件中指定了一个类用来加载数据库配置信息,这个类就是org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
。
自定义数据源
这里使用HikariDataSource
作为自定义的数据源,自定义的数据源目的就是为了解密配置文件中的配置信息。
配置文件信息如下:
具体的加解密算法这里就不在提及了,根据具体要求选择一种可逆的加密算法就可以了,如果还不是很了解加密算法的种类,可以参考我以前写的一篇文章——面试官:说一下你常用的加密算法。
此是spring-boot-route系列的第十一篇文章,这个系列的文章都比较简单,主要目的就是为了帮助初次接触Spring Boot 的同学有一个系统的认识。本文已收录至我的github,欢迎各位小伙伴star
!
github:https://github.com/binzh303/spring-boot-route
点关注、不迷路
如果觉得文章不错,欢迎关注、*点赞*、收藏,你们的支持是我创作的动力,感谢大家。
如果文章写的有问题,请不要吝啬,欢迎留言指出,我会及时核查修改。
如果你还想更加深入的了解我,可以微信搜索「Java旅途」进行关注。回复「1024」即可获得学习视频及精美电子书。每天7:30准时推送技术文章,让你的上班路不在孤独,而且每月还有送书活动,助你提升硬实力!
版权声明: 本文为 InfoQ 作者【Java旅途】的原创文章。
原文链接:【http://xie.infoq.cn/article/e46e71366747d8b2ff9a1be08】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论