202009-24 Spring Security使用数据库认证及用户密码加密和解密功能 流程图:1.接上一篇博客https://mp.csdn.net/console/editor/html/104576494,准备好环境。2.spring-security.xml中的配置:<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:security="http://www.springframework.org/schema/security"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/b... 继续阅读 >
202009-24 使用Spring组合自定义的注释 mscharhag操作 在本文中,我们将介绍一个非常有用的Spring功能,该功能允许我们基于一个或多个Spring注释创建自己的注释。假设我们有一组经常一起使用的Spring注释。一个常见的示例是@Service和@Transactional的组合:@Service@Transactional(rollbackFor=Exception.<b>class</b>,timeout=5)<b>public</b><b>class</b>UserService{...}如果希望在所有服务类上用这两个注释,现在不必一遍又一遍地重复注释了,我们可以创建一个新注释包含... 继续阅读 >
202009-23 Spring事务相关问题解决方案 有些spring相关的知识点之前一直没有仔细研究:比如spring的事务,并不是没有使用,也曾经简单的在某些需要事务处理的方法上通过增加事务注解来实现事务功能,仅仅是跟随使用(甚至并未测试过事务的正确性),至于如何在项目中配置事务,如何才能将事务写正确,事务的其它的一些原理性的东西从未花时间研究。最近同事正好抛出了一个问题,借此机会学习了一遍。问题一:增加了readOnly=true的事务中包含写操作,为什么线上运行这段代... 继续阅读 >
202009-23 Spring Boot Cache使用方法整合代码实例 参考:SpringCache扩展功能实现项目地址使用本地Caffeine缓存引入依赖包<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency><dependency><groupId>com.github.ben-manes.caffeine</groupId><artifactId>caffeine</artifactId><version>2.6.2</version></dependency>自定义Caffeine配置CachingConfig.javapackagecom.vcredit.vmp.checkcenter.co... 继续阅读 >
202009-23 Spring Cache扩展功能实现过程解析 两个需求缓存失效时间支持在方法的注解上指定SpringCache默认是不支持在@Cacheable上添加过期时间的,可以在配置缓存容器时统一指定:@BeanpublicCacheManagercacheManager(@SuppressWarnings("rawtypes")RedisTemplateredisTemplate){CustomizedRedisCacheManagercacheManager=newCustomizedRedisCacheManager(redisTemplate);cacheManager.setDefaultExpiration(60);Map<String,Long>expiresMap=newHashMap... 继续阅读 >
202009-23 Spring Boot2.x如何自定义Endpoint 概述在使用SpringBoot的时候我们经常使用actuator,健康检查,bus中使用/refresh等。这里记录如何使用注解的方式自定义Endpoint。可用于满足一些服务状态监控,或者优雅停机等。准备SpringBoot项目,pom中加入:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency>编写自定义Endpoint@Configuration@Endpoint(id="my-endpoint")publicclassMyE... 继续阅读 >
202009-23 Spring Boot JPA中java 8 的应用实例 上篇文章中我们讲到了如何在SpringBoot中使用JPA。本文我们将会讲解如何在SpringBootJPA中使用java8中的新特习惯如:Optional,StreamAPI和CompletableFuture的使用。Optional我们从数据库中获取的数据有可能是空的,对于这样的情况Java8提供了Optional类,用来防止出现空值的情况。我们看下怎么在Repository中定义一个Optional的方法:publicinterfaceBookRepositoryextendsJpaRepository<Book,Long>{Optiona... 继续阅读 >
202009-23 Spring Boot项目维护全局json数据代码实例 这篇文章主要介绍了SpringBoot项目维护全局json数据代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下概述过去我们在每一个方法中处理前端发过来的请求,需要自己构造请求数据,然后通过spring提供的@ResponseBody强制转为JSON数据吗,实际上出现了很多重复的代码,我么亦可以通过构造一个工具类,实现只关注需要改变的数据.下面给出这个工具类.publicclassJsonMsg{... 继续阅读 >
202009-23 Spring整合junit的配置过程图解 配置步骤:1.导入Spring整合Junit的jar(坐标):<dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.0.2.RELEASE</version><scope>test</scope></dependency>2.使用Junit提供的一个注解@Runwith()把原有的main方法替换成spring提供的,这样就可以创建容器了:3.告知Spring的运行器,spring的容器创建是基于xml的还是基于注解的,并且说明位置;@ContextC... 继续阅读 >
202009-23 Spring Boot2.X国际化文件编写配置 这篇文章主要介绍了SpringBoot2.X国际化文件编写配置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下国际化文件的编写messages.propertiesinitprojectmessages_en_US.propertiesinitprojectmessages_zh_CN.properties页面非连接配置国际化只需要:spring.messages.basename=i18n.login1:1.5X版本配置的方式链接配置编写类实现LocaleResoverpublicclassLocaleSettingi... 继续阅读 >
202009-23 Spring Boot集群管理工具KafkaAdminClient使用方法解析 原理介绍在Kafka官网中这么描述AdminClient:TheAdminClientAPIsupportsmanagingandinspectingtopics,brokers,acls,andotherKafkaobjects.具体的KafkaAdminClient包含了一下几种功能(以Kafka1.0.0版本为准):创建Topic:createTopics(Collection<NewTopic>newTopics)删除Topic:deleteTopics(Collection<String>topics)罗列所有Topic:listTopics()查询Topic:describeTopics(Collection<String>topicN... 继续阅读 >
201804-08 微服务中 Dubbo 和 Spring Cloud 架构技术路线对 微服务架构是互联网很热门的话题,是互联网技术发展的必然结果。它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。虽然微服务架构没有公认的技术标准和规范或者草案,但业界已经有一些很有影响力的开源微服务架构框架提供了微服务的关键思路,例如Dubbo和SpringCloud。各大互联网公司也有自研的微服务框架,但其模式都于这二者相差不大。微服务主要的优势如下:1、降低复杂... 继续阅读 >
201801-22 使用 Spring Boot 2.0 + WebFlux 实现 RESTful API 概述什么是SpringWebFlux,它是一种异步的,非阻塞的,支持背压(Backpressure)机制的Web开发框架.要深入了解SpringWebFlux,首先要了知道ReactiveStream.另一种编程姿势,和命令式编程相对的姿势.滚床单的姿势有很多种,目的都一样.WebFlux支持两种编程风(姿)格(势)使用@Controller这种基于注解的姿势,与SringMVC的姿势相同基于Java8Lambda的函数式编程风格注意:上面只是... 继续阅读 >
201711-22 Spring Boot与RabbitMQ结合实现延迟队列 顾名思义,延迟队列就是进入该队列的消息会被延迟消费的队列。而一般的队列,消息一旦入队了之后就会被消费者马上消费。延迟队列能做什么?延迟队列多用于需要延迟工作的场景。最常见的是以下两种场景:延迟消费。比如:用户生成订单之后,需要过一段时间校验订单的支付状态,如果订单仍未支付则需要及时地关闭订单。用户注册成功之后,需要过一段时间比如一周后校验用户的使用情况,如果... 继续阅读 >
201603-22 Spring Boot工程结构推荐 今天看了一位简书上朋友发来的工程,于是想到应该要写这么一篇。前人总结的最佳实践案例可以帮助我们免去很多不必要的麻烦。花点时间来看一下本文,绝对物超所值。工程结构(最佳实践)SpringBoot框架本身并没有对工程结构有特别的要求,但是按照最佳实践的工程结构可以帮助我们减少可能会遇见的坑,尤其是Spring包扫描机制的存在,如果您使用最佳实践的工程结构,可以免去不少特殊的配置工作。典型示例... 继续阅读 >