-
Spring提供了非常方便使用的RestTemplate,用于访问http/https资源。但在开发调试过程中,我们希望能够看到相关的日志信息。 开启日志 修改application.properties文件,加入以下配置: logging.level.org.springframework.web.client.RestTemplate=DEBUG 可...
-
SpringBoot提供了非常方便使用的定时任务功能。同时也支持Quartz。 开启任务调度器 @Configuration @EnableScheduling public class SchedulerConfig { } 使用定时任务 // 每5秒执行一次 @Scheduled(fixedDelay = 5000) public void doSomething() { // som...
-
MyBatis有一级缓存和二级缓存。一级缓存默认开启,二级缓存默认关闭。 一级缓存基于SqlSession,只要是同一个SqlSession,执行相同的SQL语句会返回缓存中的结果,从而减少数据库访问次数。需要注意的是,如果使用了延迟加载,则会出现无法使用一级缓存的情况...
-
常用格式 APNG。后缀:.apng,MIME type:image/apng。动态图,比gif性能好,但不如webpge格式。过渡格式。Java不支持。浏览器支持: Chrome, Edge, Firefox, Opera, Safari。 AVIF。后缀:.avif,MIME type:image/avif。静态图、动态图,表现都很好。不够流...
-
SpringDoc是用于生成SpringBoot项目API文档的Java库。在代码中使用swagger-api注解,即可生成相应的API文档,和JavaDoc非常类似。 SpringDoc基于Swagger 3,Swagger 3包名为io.swagger.core.v3。 Swagger 3实现了OpenAPI 3接口规范,类似Hibernate实现JPA规...
-
上一章简单的处理了密码加密问题。但密码加密中有一个更为棘手的问题,这便是加密算法的升级。 如果系统设计之初,还使用md5加密,之后改为了更安全的sha1或sha256,再之后又要改为pbkdf2或bcrypt之类的现代算法。如果又出现更好的加密技术,或者原有加密算...
-
上一章已经可以使用自定义的登录页面,一切看起来都很好,但是用户名密码并不是自己的。如何做到使用自己数据库里的用户名和密码呢? UserDetailsService接口 使用数据库的用户名密码,需要实现UserDetailsService。配置如下: @Bean public UserDetailsSer...
-
看到上一章的登录页面,大部分人的第一反应就是,我要用自己的登录页面怎么办? 之前全部使用SpringBoot的默认配置,现在开始需要增加自己的配置项了。 配置自定义登录地址 定义自己的SecurityFilterChain,SpringBoot自动配置的SecurityFilterChain将会自动...
-
pom.xml中加入以下代码,就已经有了Spring Security的权限功能了,甚至包括登录页面。简直是保姆式的呵护。 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> &l...
-
Spring Security学习曲线比较陡峭,因为权限本身就非常复杂,涉及到很多概念。Spring Security要比Shiro难,因为Spring Security提供的功能更多,而Shiro很多功能需要自己实现。要灵活使用Spring Security提供的功能,以及在Spring Security复杂的体系里进行...