<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.6.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.6.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
类上需要添加注解
@SpringBootTest @RunWith(SpringRunner.class)
或者 SpringBootTest 后面添加 项目启动类
@SpringBootTest(classes = {BenanSecurityCheckApplication.class}) @RunWith(SpringRunner.class)
不添加这个注解会空指针报错
public static String dateToStr(Date dateDate, String str) {
SimpleDateFormat formatter = new SimpleDateFormat(str);
String dateString = formatter.format(dateDate);
return dateString;
}
@Autowired
private RedisHelper redisHelper;
// ${year}-${year-5-code}最终生成的效果如
public String yearAndCode(){
String yyyy = DateUtils.dateToStr(new Date(), "yyyy"); // 获取当前年份
String redisKey = "key_year_-" + yyyy ;
long incr = 1L;
if (redisHelper.hasKey(redisKey)) {
incr = redisHelper.incr(redisKey, 1);
}else {
redisHelper.set(redisKey, 1);
}
String value = "0000"+String.valueOf(incr);
String code = value.substring(value.length() - 5, value.length());
String yearCode = yyyy+"-"+code;
return yearCode;
}
生成格式如下 年-00001
//2021-00001
//2021-00002
//2021-00030
//2022-00001
//2022-00002