- 博客(6)
- 收藏
- 关注
原创 SpringBoot整合rabbitMq使用方式
rabbitTemplate.convertAndSend(RabbitmqConfig.ITEM_TOPIC_EXCHANGE, "item.insert", "新增商品的消息~~");创建生产者:导入对应依赖后,使用rabbitTemplate,并调用convertAndSend来发送消息。编写配置类,使用@Bean注解在对应的方法上把方法的返回值(将队列,交换机等信息)交由spring管理。注解在消息处理方法上,指定监听的队列名称,并在方法参数中接收消息。// 处理接收到的消息。
2023-06-16 19:49:56 668 1
原创 SpringBoot自动配置的原理
以WebMvcAutoConfiguration自动配置的原理为例,SpringBoot内部对大量的第三方库或Spring内部库进行了默认配置,这些配置是否生效,取决于我们是否引入了对应库所需的依赖,如果有那么默认配置就会生效。(查源码)自动配置类(Auto-Configuration Class):自动配置类使用条件注解来标记自己的生效条件,并在满足条件时进行自动配置。SpringBoot为我们提供了默认配置,而默认配置生效的条件,我们也可以自己配置,那么就会覆盖默认配置。:声明这个类是一个配置类。
2023-06-15 21:44:55 97 1
原创 SpringBoot启动类@SpringBootApplication注解
通过@SpringBootConfiguration注解的源码得知,其配置了一个@Configuration注解,来声明这是一个配置类,经过spring扫描读取其中的配置信息。在springBoot的启动类中,提供了一个mai函数的程序入口,来启动加载SpringBoot程序,那么注解@SpringBootApplication,通过源码可以看到,它相当于@ComponentScan + @EnableAutoConfiguration + @SpringBootConfiguration。
2023-06-13 23:18:25 287 1
原创 缓存雪崩、缓存穿透、缓存击穿原因及解决办法
缓存穿透是指缓存穿透是指在使用缓存系统的应用程序中,恶意请求或者无效的请求频繁地访问缓存中不存在的数据,导致大量请求直接访问后端数据库或服务,而绕过了缓存系统的情况。②:延迟缓存更新策略(缓存穿透):当发现某个缓存键对应的数据不存在时,可以采取一定的策略,如先访问数据库或后端服务获取数据,然后将数据写入缓存,避免了多个并发请求同时访问数据库。①:设置热点数据的永不过期策略:对于一些非常热点且不经常变动的数据,可以将其缓存设置为永不过期,确保数据一直存在于缓存中,避免了过期导致的击穿问题。
2023-06-12 19:37:31 360 1
原创 Spring是如何解决循环依赖的?
如果发现循环依赖,Spring 会使用第二级缓存中的代理对象来解决循环依赖的问题,确保每个对象都可以获取到完整的依赖链。3. **接着,处理对象属性注入:** Spring 继续完成对象的属性注入过程,对于循环依赖的属性,Spring 会将一个代理对象注入,而不是直接注入实际对象。2. **然后,提前暴露对象引用:** 在对象实例化的过程中,如果发现有其他对象依赖该对象,Spring 会提前暴露该对象的引用,使得其他对象可以获取到该对象的引用,但此时该对象的属性尚未注入。
2023-06-07 19:54:14 144 1
原创 浅聊jvm
JVM入门笔记](https://blog.csdn.net/fllow_wind/article/details/117027924#:~:text=%E4%B8%89%E7%A7%8DJVM%3A%201%20Sun%E5%85%AC%E5%8F%B8%EF%BC%9AHotSpot%20%E7%94%A8%E7%9A%84%E6%9C%80%E5%A4%9A,2%20BEA%EF%BC%9AJRockit%203%20IBM%EF%BC%9AJ9VM)具体放在哪里,不同的实现可以放在不同的地方。
2023-05-25 10:39:54 57 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人