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去使用呢