![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
springboot总结
L.2626
仅记录我的学习,注明出处按需转载
展开
-
case的值设置为Enum.QUESTION.getCode()报错:常量表达式、模式或 null 为必需项
在Java中,case的值必须是编译时可确定的常量表达式,而不是在运行时才能确定的值。如果`QuestionBankTypeEnum.OBJECTIVE_QUESTION.getTypeCode()` 方法的返回值无法在编译时确定,你可以考虑使用if-else语句来实现相同的逻辑。通过使用if-else语句,你可以根据方法返回值的实际情况处理不同的逻辑分支,并避免在switch语句中使用无法在编译时确定的值所导致的错误。原创 2024-05-24 08:58:42 · 207 阅读 · 0 评论 -
@LockMethod
在上面的示例中,通过`@LockMethod`注解标记需要同步访问的方法,并根据方法参数的值进行锁定。切面类`LockMethodAspect`中使用`ConcurrentHashMap`保存不同参数组合对应的锁,并通过`ReentrantLock`实现锁定。如果需要限制同一时间只允许一个线程访问带有多个参数的方法,并且需要根据多个参数进行锁定,则可以自定义一个注解`@LockMethod`,并通过AOP来实现方法级别的同步访问。原创 2024-05-23 10:10:48 · 268 阅读 · 0 评论 -
springboot中处理多线程的注解在同一时间只允许一个进程访问
在Spring Boot中,可以通过`@Async`注解实现多线程处理,但是默认情况下多个线程是并发执行的,不会限制同一时间只允许一个线程访问。在上面的示例中,通过`@Synchronized`注解标记需要同步访问的方法,切面类`SynchronizedAspect`中使用`Semaphore`实现方法级别的同步,限制同一时间只允许一个线程访问该方法。`@Synchronized`是一个自定义的注解,在Spring Boot中可以通过自定义切面来实现同步访问。原创 2024-05-23 10:00:37 · 243 阅读 · 1 评论 -
@Transactional
rollbackFor属性指定了哪些异常需要回滚事务,即当方法中抛出指定异常时,事务会回滚。使用@Transactional(rollbackFor = Exception.class)注解有助于确保在出现异常时事务能够正确回滚,避免数据不一致的情况发生。因此,在编写涉及事务管理的方法时,建议进行适当的注解配置以确保数据的一致性和完整性。在这里提到的@Transactional(rollbackFor = Exception.class)是一个注解,通常用于声明事务管理的相关属性。原创 2024-05-23 09:38:42 · 293 阅读 · 0 评论 -
springboot再接受参数时怎么标注可以不传的一个字段
在 Spring Boot 中,如果您希望一个字段在接收请求参数时可以不传,可以使用 `@RequestParam` 注解中的 `required` 属性来标注这个字段是可选的。同样地,您可以使用 `required = false` 来标注一个字段为可选字段。要标注一个字段为可选字段,可以将 `@RequestParam` 注解的 `required` 属性设置为 `false`。在上面的例子中,`optionalParam` 字段被标注为可选字段,如果请求中没有传递该参数,该字段将会为 null。原创 2024-05-21 13:20:20 · 247 阅读 · 0 评论