业务需求:JPA 确实挺好用,给我们提供了 CRUD 的功能,并且用起来也是特别的方便,基本都是一行代码就能完成各种数据库操作,跟 mybatisplus 很像。。。但是在遇到复杂的多条件以及多表查询的时候,总是会首先考虑到手写原生的 SQL。Specification 算是 JPA 中比较灵活的查询方式,也少不了 Criteria 类型安全和面向对象的优点环境配置<!-- jp
转载
2024-04-02 17:58:23
41阅读
# Java SPI不生效的原因与解决方案
Java SPI(Service Provider Interface)是一种服务发现机制,使得Java应用能够通过接口动态加载实现。在框架设计文件和模块化开发中,SPI常被用来提高扩展性和灵活性。然而,有时开发者在使用SPI时会遇到不生效的情况,影响应用的正常运行。本文将通过实例与图示来分析Java SPI不生效的原因,并提供解决方案。
## SP
了解SPI机制的概念和原理SPI是什么?SPI(Service Provider Interface)是Java提供的一种服务发现机制,它允许在运行时动态地加载实现某个特定接口的类。SPI主要用于框架和库的扩展,它通过让框架在运行时动态加载实现了某个接口的类来达到扩展的目的。SPI的原理是什么?SPI的原理是基于Java的ClassLoader机制实现的。在Java中,类的加载是由ClassLoa
转载
2023-10-14 11:08:19
18阅读
SpringBoot整合Lombok插件及常见问题解决LombokLombok能以简单的注解形式来简化java代码,从而提高开发人员的开发效率。其本身是一个优秀的Java代码库,它采用了一种投机取巧的语法糖,简化了Java的编码,为Java代码的精简提供了一种方式,但Lombok并非一个标准的Java库。在web开发过程中经常需要写的Java类,都需要花时间去添加相应的getter/setter、
转载
2024-04-03 13:44:10
120阅读
回顾一下Spring AOP的知识为什么会有面向切面编程(AOP)?我们知道Java是一个面向对象(OOP)的语言,但它有一些弊端,比如当我们需要为多个不具有继承关系的对象引入一个公共行为,例如日志、权限验证、事务等功能时,只能在在每个对象里引用公共行为。这样做不便于维护,而且有大量重复代码。AOP的出现弥补了OOP的这点不足。Spring AOP 中设计的一些核心知识,面试问题?1
01、概述配置类:在springboot中被@Configuration或者@SpringBootConfiguration标注的类称之为配置类。02、作用&目的在配置类可以定义很多@Bean的方法,可以让这些@Bean修饰的方式让spring框架加载到ioc容器中去。03、那为什么会存在配置方便你覆盖底层的配置类让你去扩展的bean的一种机制。04、一个springboot项目中的加载的
什么是跨域?由于安全原因,浏览器都遵循着同源原则,拦截了不同域名之间的请求。跨域请求,是指能让不同域名之间,可以相互发送请求。 当它请求的一个资源是从一个与它本身提供的第一个资源的不同的域名时,一个资源会发起一个跨域HTTP请求(Cross-site HTTP request)。 比如说,域名A ( http://domaina.example ) 的某 Web 应用程序中通过< img&g
定时任务之前一直用的是quartz之类,但是注意到Spring中其实也提供了一种简单的调度注释@Scheduled,也就想尝一下鲜..代码示意如下:@Component
@EnableScheduling
public class AsyncTaskHandlerTask {
@Scheduled(fixedDelay = 1000)
public void task1() {
最近在开发时,因为业务场景对数据库操作时,涉及多张表,多张表又要求一致性,就加了spring事务的@Transactional注解,spring事务是基于aop实现,耦合度低,这里主要讲下@Transactional注解的使用注意。spring事务注意事项因为@Transactional注解有很多不生效的场景,所以在自测时,需要验证异常,在代码中手动制造异常(int i= 1/0),观察是否生效;
开篇服务部署是应用上线前的必需环节。大道至简,如何做到项目简单化、自动化甚至傻瓜式部署是考验DevOps的一大难题。从docker面世到k8s的脱颖而出,有越来越多的开源工具也在帮助开发和运维人员解决这些问题。对于开发人员,了解和学习Docker可谓是迫在眉睫。网上有很多优秀的学习资源,当然了,本文的主角不全是docker,但也不无关系。现在是CI时代。用过Jenkins,但对于个人或小型项目来说
转载
2024-03-16 07:24:08
124阅读
## 解决springboot pagehelper不生效的问题
### 问题背景
在使用Spring Boot进行开发的过程中,我们常常会用到分页插件PageHelper来实现分页查询的功能。但有时候在集成PageHelper后发现分页功能并没有生效,导致查询结果并没有按照预期分页显示。本文将教你如何解决这个问题。
### 解决步骤
首先让我们来看看整个解决问题的流程,如下表所示:
|
原创
2024-05-21 09:45:06
1126阅读
1 EnableConfigurationProperties 属性配置启动流程图 EnableConfigurationProperties,在SpringBoot的注释中是这样说明的:为带有@ConfigurationProperties注解的Bean提供有效的支持。这个注解可以提供一种方便的方式来将带有@ConfigurationPropert
转载
2024-04-20 14:21:12
87阅读
日常springboot应用中,我们可以使用Actuator来做Springboot项目的监控
他的功能就是帮我们实现springboot项目监控的
比如说有些问题在线上环境出现的 比如说系统响应速度变慢 同时经常无法访问
或者程序的cpu的资源 以及内存 或者io资源,这些都需要有一个良好的认知 这个时候监控就很有必要,这个时候我们就需要Actuator来帮助我们实现微服务的状态监控我先创
码农靠搬砖吃饭,搬砖就需要经常思考,不然早晚会遇到困境,无法突破。今天我们聊一个 AOP 切面技术,起因是微信群里一位网友遇到了一个自定义注解未生效问题,看起来就是和 @Transactional 未生效一样。根据他的描述,我制作了 demo,下面是经过我简化后的代码。第一步,先定义一个注解:@Target(value = {ElementType.METHOD})
@Retention(Rete
转载
2024-04-16 11:38:38
877阅读
相关历史文章(阅读本文之前,您可能需要先看下之前的系列 )WebService SOAP概述 - 第275篇WSDL是什么“Lese” - 第276篇Spring boot webservice怎么玩? - 第277篇Spring boot cxf构建webservice服务 - 第278篇Spring boot cxf调用webservice服务 - 第279篇一、前言 在前面文章中,对于Web
转载
2024-06-25 19:30:00
31阅读
spring boot常见错误url失败端口占用利用maven对项目进行打包报错各种Error creating bean with nameAyUser实体类所存在的问题Error:java: 无效的目标发行版: 11初始化时没有选择依赖怎么办PageRequest形参和实参数量不匹配无限重定向监听器与redis缓存结合错误findOne(id)报错日志jar包冲突后续补充 本文章只针对某高校
转载
2024-03-24 16:33:54
388阅读
WebSocket 事件Websocket 使用 ws 或 wss 的统⼀资源标志符,类似于 HTTPS,其中 wss 表示在 TLS 之上的 Websocket。ws://example.com/wsapi
wss://secure.example.com/Websocket 使用和 HTTP 相同的 TCP 端⼝口,可以绕过大多数防⽕墙的限制。默认情况下,Websocket 协议使用80 端口
转载
2024-03-16 13:36:23
83阅读
websocket stomp配置以及ws/wss协议的使用STOMP是一个更高级的协议,它使用一个基于帧(frame)的格式来定义消息,与HTTP的request和response类似。本人主要讲述stomp 在websocket中的配置,以及与session的集合做点对点通信,以及微信小程序等需要ws/wss协议时候前后端的配置。基本配置以及与SESSION的结合 1 springboot
转载
2024-05-30 07:33:01
81阅读
springboot2.0 如何异步操作,@Async失效,无法进入异步</h1>
<div ></div>
<div class="postBody"> springboot异步操作可以使用@EnableAsync和@Async两个注解,本质就是多线程和动态代理。一、配置一个线程池 @Configuration
@Enab
转载
2024-04-03 15:07:31
229阅读
这里写自定义目录标题 研究了一天springboot logback,我的项目结构是这样的: application.yml对log的配置如下: 下面是logback-spring.xml的内容:在这里插入代码片<?xml version="1.0" encoding="UTF-8"?>
<!-- 日志级别从低到高分为TRACE < DEBUG < INFO <
转载
2023-09-08 16:08:19
146阅读