Jboot 是一个基于 JFinal、JFinal-Undertow、Dubbo 等开发的微服务框架,帮助开发者降低微服务开发门槛。同时完美支持在 idea、eclipse 下多 maven 模块,对java代码、html、css、js 等资源文件进行热加载,爽爽的开发。
Jboot v2.2.3 主要是新增了对加密配置内容的读取支持,为了安全起见,很多时候我们需要对配置里的一些安全和隐私内容进行加密,比如数据库的账号密码等,防止web服务器被黑客入侵时保证数据库的安全。
配置的内容加密是由用户自己编写加密算法。此时,Jboot 读取的只是加密的内容,为了能正常还原解密之后的内容,用户需要给 JbootConfigManager
配置上解密的实现 JbootConfigDecryptor。
一般情况下,我们需要在 JbootAppListener 的 onInit() 里去配置。例如:
public MyApplicationListener implements JbootAppListener { public void onInit() { JbootConfigManager.me().setDecryptor(new MyConfigDecriptor()); } }
我们需要在 MyConfigDecriptor
的 decrypt
方法里去实现自己的解密算法。例如:
public MyConfigDecriptor implements JbootConfigDecryptor { public String decrypt(String key, String originalContent){ //在这里实现你自己的解密算法 //key : 很多时候我们并不是针对所有的配置都进行加密,只是加密了个别配置 //此时,我们可以通过 key 来判断那些无需加密的内容,不需要加密直接返回 originalContent 即可 } }
<dependency> <groupId>io.jboot</groupId> <artifactId>jboot</artifactId> <version>2.2.3</version> </dependency>
@RequestMapping("/") public class HelloworldController extends JbootController { public void index(){ renderText("hello world"); } public static void main(String[] args){ JbootApplication.run(args); } }