IDEA版SpringBoot全教程 09 会员管理系统(下)2

简介: 保存用户的时候要加盐加密:

加一个盐

public static final String salt = "java18.cn";

保存用户的时候要加盐加密:

//密码加密
String password = SecureUtil.md5(params.get("password") + salt);
params.put("password",password);

90c278e23a4fcff7fa8ab96561d604d0.png

还有登录的时候也要加密

6da3f7297e4d0913cce4ff96f8e8c6a4.png

还有一处,就是修改密码的时候,也要加密。

908e22520a6ebc9c814737c9d6249138.png

要改动的地方还是很多的吧,要小心修改哦,别漏了。

因为之前保存的用户,密码是没有加密的,这边为了简单操作,统一把密码设置为1,加密字符串就是:25280c00d0dfcaa5a6346819668f9069

一条update语句即可。

update user set `password` = '25280c00d0dfcaa5a6346819668f9069'

SpringBoot默认数据源不是druid,我们需要手动进行一下更换

springboot 2.0 默认连接池是Hikari了,所以引用parents后不用专门加依赖。

这也是为什么我们明明没有引入数据源,但是也可以正常使用的原因。

验证:f477aac2ac080b8a97d623139bdfb008.png

onApplicationEvent方法,在最后添加

//查看本地配置的数据源
DataSource dataSource = applicationContext.getBean(DataSource.class);
logger.info(dataSource.toString());

打印日志


2021-04-17 14:44:00.035 INFO 692 --- [ restartedMain] ication

EnhancerBySpringCGLIB

EnhancerBySpringCGLIB

93e83275 : HikariDataSource (HikariPool-8)


1.性能方面 hikari>druid>tomcat-jdbc>dbcp>c3p0 。hikari的高性能得益于最大限度的避免锁竞争。


2.druid功能最为全面,sql拦截等功能,统计数据较为全面,具有良好的扩展性。

db6b9c4d415ab9a21c5fab2cbd716c5c.png


看来SpringBoot默认的数据源是真的很强,普通的开发完全可以胜任了,而且性能是最好的。不过,这边也介绍一下更换数据源的方法。

a01cae1bb4e0fde8e63dccc745937cc1.png

<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>druid</artifactId>
  <version>LATEST</version>
</dependency>

6edad4279bb45ca98b7f21b97b84e806.png

spring.datasource.type: com.alibaba.druid.pool.DruidDataSource

查看数据源配置的代码改下:

logger.info(dataSource.getClass().getName());

打印


2021-04-17 14:58:29.730 INFO 7760 --- [ restartedMain] ication

EnhancerBySpringCGLIB

EnhancerBySpringCGLIB

3e81aef4 : com.alibaba.druid.pool.DruidDataSource

————————————————

版权声明:本文为CSDN博主「剽悍一小兔」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_39570751/article/details/122636941

相关文章
|
8月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1474 5
|
前端开发 Java 数据安全/隐私保护
用户登录前后端开发(一个简单完整的小项目)——SpringBoot与session验证(带前后端源码)全方位全流程超详细教程
文章通过一个简单的SpringBoot项目,详细介绍了前后端如何实现用户登录功能,包括前端登录页面的创建、后端登录逻辑的处理、使用session验证用户身份以及获取已登录用户信息的方法。
2567 2
用户登录前后端开发(一个简单完整的小项目)——SpringBoot与session验证(带前后端源码)全方位全流程超详细教程
|
Cloud Native Java C++
Springboot3新特性:开发第一个 GraalVM 本机应用程序(完整教程)
文章介绍如何在Spring Boot 3中利用GraalVM将Java应用程序编译成独立的本机二进制文件,从而提高启动速度、减少内存占用,并实现不依赖JVM运行。
2501 1
Springboot3新特性:开发第一个 GraalVM 本机应用程序(完整教程)
|
缓存 NoSQL Java
基于SpringBoot的Redis开发实战教程
Redis在Spring Boot中的应用非常广泛,其高性能和灵活性使其成为构建高效分布式系统的理想选择。通过深入理解本文的内容,您可以更好地利用Redis的特性,为应用程序提供高效的缓存和消息处理能力。
1360 79
|
JavaScript 前端开发 Java
Idea启动SpringBoot程序报错:Veb server failed to start. Port 8082 was already in use;端口冲突的原理与解决方案
本文解决了Idea启动SpringBoot程序报错:Veb server failed to start. Port 8082 was already in use的问题,并通过介绍端口的使用原理和操作系统的端口管理机制,可以更有效地解决端口冲突问题,并确保Web服务器能够顺利启动和运行。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
Java Maven Spring
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
这篇文章介绍了在IntelliJ IDEA社区版中创建Spring Boot项目的三种方法,特别强调了第三种方法的详细步骤。
16306 0
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
3463 2
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
|
数据采集 监控 Java
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
本文是关于SpringBoot日志的详细教程,涵盖日志的定义、用途、SLF4J框架的使用、日志级别、持久化、文件分割及格式配置等内容。
1591 3
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
|
Java API Apache
Springboot+shiro,完整教程,带你学会shiro
这篇文章提供了一个完整的Apache Shiro与Spring Boot结合使用的教程,包括Shiro的配置、使用以及在非Web和Web环境中进行身份验证和授权的示例。
916 2
Springboot+shiro,完整教程,带你学会shiro
|
缓存 NoSQL Java
springboot的缓存和redis缓存,入门级别教程
本文介绍了Spring Boot中的缓存机制,包括使用默认的JVM缓存和集成Redis缓存,以及如何配置和使用缓存来提高应用程序性能。
742 1
springboot的缓存和redis缓存,入门级别教程