Spring中的ID生成器

简介: Spring中的ID生成器

ID生成器你会使用什么方法,一般使用JDK自带的就够了,但是Spring中提供了几种生成器,他们之间有啥区别呢,用代码来了解。

packagecom.example.Springboot26Demo.springutil;
importorg.springframework.util.*;
importjava.util.*;
publicclassSpringUtilsTest {
publicstaticvoidmain(String[] args) throwsException {
//jdk自带的方法System.out.println("jdk自带的方法");
System.out.println(UUID.randomUUID().toString());
System.out.println("==================================");
System.out.println();
//Spring提供的在安全和性能之间起到平衡作用的生成器IdGeneratorid1=newAlternativeJdkIdGenerator();
System.out.println("Spring提供的在安全和性能之间起到平衡作用的生成器");
System.out.println(id1.generateId().toString());
System.out.println("==================================");
System.out.println();
//Spring提供的底层JDK的实现System.out.println("Spring提供的底层JDK的实现");
IdGeneratorid2=newJdkIdGenerator();
System.out.println(id2.generateId().toString());
System.out.println("==================================");
System.out.println();
//Spring提供的简单的生成器实现System.out.println("Spring提供的简单的生成器实现一");
IdGeneratorid3=newSimpleIdGenerator();
System.out.println(id3.generateId().toString());
System.out.println(id3.generateId().toString());
System.out.println("==================================");
System.out.println();
System.out.println("Spring提供的简单的生成器实现二");
IdGeneratorid4=newSimpleIdGenerator();
System.out.println(id4.generateId().toString());
System.out.println("==================================");
System.out.println();
    }
}

输出结果如下:

jdk自带的方法b3e36369-9440-4257-8634-7a696c39f68e==================================Spring提供的在安全和性能之间起到平衡作用的生成器9481abc4-cdc1-f2e6-7f08-104a4db3e04f==================================Spring提供的底层JDK的实现875d2514-4efc-4bf7-ad06-b55e39e9cc0a==================================Spring提供的简单的生成器实现一00000000-0000-0000-0000-00000000000100000000-0000-0000-0000-000000000002==================================Spring提供的简单的生成器实现二00000000-0000-0000-0000-000000000001==================================

主要是SimpleIdGenerator的方式,如果是单例的类,他的生成是顺序的长整型的ID,是不是可以作为自增id去使用呢

目录
相关文章
|
XML Java 数据格式
如果Spring中有两个ID相同的Bean,会报错吗?
有位粉丝被 问到这样一个问题,说在Spring中,如果有两个ID相同的Bean,会不会报错?如果报错,会在哪个阶段报错? 这个问题也要分析具体的情况,才能完整的回答。我从三个方面来回答你的问题吧。
299 0
|
Java 容器 Spring
聊聊Spring的bean覆盖(存在同名name/id问题),介绍Spring名称生成策略接口BeanNameGenerator【享学Spring】(中)
聊聊Spring的bean覆盖(存在同名name/id问题),介绍Spring名称生成策略接口BeanNameGenerator【享学Spring】(中)
|
3月前
|
前端开发 Java Spring
Spring与Angular/React/Vue:当后端大佬遇上前端三杰,会擦出怎样的火花?一场技术的盛宴,你准备好了吗?
【8月更文挑战第31天】Spring框架与Angular、React、Vue等前端框架的集成是现代Web应用开发的核心。通过RESTful API、WebSocket及GraphQL等方式,Spring能与前端框架高效互动,提供快速且功能丰富的应用。RESTful API简单有效,适用于基本数据交互;WebSocket支持实时通信,适合聊天应用和数据监控;GraphQL则提供更精确的数据查询能力。开发者可根据需求选择合适的集成方式,提升用户体验和应用功能。
92 0
|
4月前
|
Java 微服务 Spring
微服务04---服务远程调用,根据订单id查询订单功能,根据id查询订单的同时,把订单所属的用户信息一起返回,Spring提供了一个工具RestTemplate,Bean写在对象前面,以后可以在任何地
微服务04---服务远程调用,根据订单id查询订单功能,根据id查询订单的同时,把订单所属的用户信息一起返回,Spring提供了一个工具RestTemplate,Bean写在对象前面,以后可以在任何地
|
Java Spring
spring boot CRUD(查询全部,查询ID,模糊查询,删除id,全部删除,新增多条/单条 修改)(二)
spring boot CRUD(查询全部,查询ID,模糊查询,删除id,全部删除,新增多条/单条 修改)(二)
119 0
|
SQL Java 数据库
spring boot CRUD(查询全部,查询ID,模糊查询,删除id,全部删除,新增多条/单条 修改)(一)
spring boot CRUD(查询全部,查询ID,模糊查询,删除id,全部删除,新增多条/单条 修改)(一)
215 0
|
Java Spring
spring学习32-id和name
spring学习32-id和name
100 0
spring学习32-id和name
|
Java Spring
spring学习20-使用限定符和类id
spring学习20-使用限定符和类id
70 0
|
IDE Java 程序员
聊聊Spring的bean覆盖(存在同名name/id问题),介绍Spring名称生成策略接口BeanNameGenerator【享学Spring】(下)
聊聊Spring的bean覆盖(存在同名name/id问题),介绍Spring名称生成策略接口BeanNameGenerator【享学Spring】(下)
聊聊Spring的bean覆盖(存在同名name/id问题),介绍Spring名称生成策略接口BeanNameGenerator【享学Spring】(下)
|
XML 存储 Java
聊聊Spring的bean覆盖(存在同名name/id问题),介绍Spring名称生成策略接口BeanNameGenerator【享学Spring】(上)
聊聊Spring的bean覆盖(存在同名name/id问题),介绍Spring名称生成策略接口BeanNameGenerator【享学Spring】(上)
聊聊Spring的bean覆盖(存在同名name/id问题),介绍Spring名称生成策略接口BeanNameGenerator【享学Spring】(上)