spring
文章平均质量分 72
spring
layman·
认识自己的无知是认识世界最好的方法。
展开
-
IDEA SpringCloud里怎么用一个服务启动多个实例
多实例就是一个服务部署多个相同功能的应用,众所周知一个实例就需要占用一个端口,而我们代码里的配置文件只能指定一个端口。4.这样全部启动之后,就可以在nacos注册中心很清楚的看到一个服务被多实例部署了。1.在需要复制的微服务上点击右键,选择Copy Configuration。2.对复制出来的这份配置右键进行编辑。3.设置新微服务的名称和端口号(原创 2023-06-02 10:49:30 · 820 阅读 · 0 评论 -
SpringBoot集成XXL-JOB
在media-service下新建包com.xuecheng.media.service.jobhandler,在该包下定义我们的任务类(创建任务类,编写任务方法)xxl-job-executor-sample-springboot:SpringBoot版本,通过SpringBoot管理执行器。xxl-job-executor-sample-frameless:无框架版本。xxl-job-admin:调度中心 xxl-job-core:公共依赖。然后进入调度中心添加任务,进入任务管理,新增任务信息。原创 2023-06-01 17:23:24 · 2234 阅读 · 0 评论 -
Spring事务失效的几种常见原因
说白了,在AbstractFallbackTransactionAttributeSource类的computeTransactionAttribute方法中有个判断,如果目标方法不是public,则TransactionAttribute返回null,即不支持事务。从上面的例子,我们可以看到UserService类没有加@Service注解,那么该类不会交给spring管理,所以它的add方法也不会生成事务。spring事务的底层是通过aop来创建一个代理类,而代理类无法重写该方法,无法实现事务功能。原创 2023-06-01 11:47:36 · 590 阅读 · 0 评论 -
Service事务优化(方法能否被事务控制?)
目前如果在updateFile方法上添加@Transactional,当调用updateFile方法前会开启数据库事务,如果上传文件过程时间较长(例如用户在上传超大视频文件),那么数据库的食物持续时间也会变长(因为在updateFile方法中,我们即要将文件上传到minio,又要将文件信息写入数据库),这样数据库连接释放就慢,最终导致数据库链接不够用。现在只满足了添加事务注解,那么如何判断是不是通过代理对象调用的方法呢?再次测试事务是否可以正常控制,打断点看到这次是代理对象调用的方法。原创 2023-05-30 15:18:14 · 985 阅读 · 0 评论 -
idea导入springboot项目标红,无maven
然后点击Add Maven Project添加maven主配置文件,然后等待编译就行。是因为项目识别pom文件失败了,需要我们手动添加maven的主pom文件。在项目中双击shift按钮,进入文件查找的功能,然后搜索maven。右击你的项目->maven(比较底下的选项)->reimport ->等待完成即可。项目中有pom文件但是没有maven。原创 2023-04-19 16:39:32 · 546 阅读 · 0 评论 -
Spring知识点总结(持续更新中---)
控制反转(也称作依赖性介入-Inversion Of Controller)的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器 (在 Spring 框架中是 IOC 容器) 负责将这些联系在一起。在典型的 IOC 场景中,容器创建了所有对象,并设置必要的属性将它们连接在一起,决定什么时间调用方法。...........................原创 2022-08-02 17:25:20 · 369 阅读 · 1 评论 -
Spring的IOC原理(图文详解、通俗易懂)
Spring的IOC原理转载 2022-07-29 14:38:47 · 4420 阅读 · 0 评论 -
Spring中Bean的多实例与单实例
Spring中Bean的单例和多例原创 2022-08-04 14:44:50 · 3567 阅读 · 0 评论 -
Spring AOP实例演示与注解全解
AOP(Aspect Oriented Programming),面向切面思想,是Spring的三大核心思想之一(两外两个:IOC-控制反转、DI-依赖注入)。那么AOP为何那么重要呢?在我们的程序中,经常存在一些系统性的需求,比如权限校验、日志记录、统计等,这些代码会散落穿插在各个业务逻辑中,非常冗余且不利于维护。例如下面这个示意图:有多少业务操作,就要写多少重复的校验和日志记录代码,这显然是无法接受的。当然,用面向对象的思想,我们可以把这些重复的代码抽离出来,写成公共方法转载 2022-09-05 15:56:04 · 915 阅读 · 1 评论