
SpringBoot高级技术学习笔记
文章平均质量分 82
勉之~
遇事不怕,就怕没有解决的能力,不断提升自己,做一个勇往直前的人,Fighting!!!
展开
-
Spring三级缓存解决循环依赖
这时我们会发现能够拿到bean实例(属性未填充),然后从三级缓存移除,放到二级缓存earlySingletonObjects中,而此时B注入的是一个半成品的实例A对象,不过随着B初始化完成后,A会继续进行后续的初始化操作,最终B会注入的是一个完整的A实例,因为在内存中它们是同一个对象。(2)提前暴露对象:在创建Bean的过程中,当Spring发现存在循环依赖时,会先提前暴露正在创建的Bean,并将其放入earlySingletonObjects缓存中。这样可以避免后续循环依赖时的死锁情况。原创 2023-08-31 15:53:18 · 525 阅读 · 0 评论 -
SpringBoot之监控管理(高级)
SpringBoot之监控管理一 监控管理步骤(1)引入spring-boot-starter-actuator(2)通过http方式访问监控端点(3)可进行shutdown(POST 提交,此端点默认关闭)监控和管理端点直接在访问路径后加上端点名就可以查看消息了案例(1)引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spr原创 2021-04-01 21:21:20 · 288 阅读 · 0 评论 -
SpringBoot之分布式(高级)
SpringBoot之分布式一 分布式概述单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。垂直应用架构当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键分布式服务架构当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速原创 2021-03-31 23:17:02 · 247 阅读 · 0 评论 -
SpringBoot之安全整合SpringSecurity的简单使用
SpringBoot之安全整合SpringSecurity的简单使用一 概述Spring Security是针对Spring项目的安全框架,也是Spring Boot底层安全模块默认的技术选型。他可以实现强大的web安全控制。对于安全控制,我们仅需引入spring-boot-starter-security模块,进行少量的配置,即可实现强大的安全管理。几个类(1)WebSecurityConfigurerAdapter:自定义Security策略(2)AuthenticationManagerB原创 2021-03-31 21:46:00 · 160 阅读 · 0 评论 -
SpringBoot之任务(高级)
SpringBoot之任务一 异步任务在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在Spring 3.x之后,就已经内置了@Async来完美解决这个问题。两个注解:@EnableAysnc、@Aysnc案例(1)启动类@EnableAsync //开启异步注解功能@SpringBootApplicationpublic class Springboot原创 2021-03-31 20:46:57 · 143 阅读 · 0 评论 -
SpringBoot之全文检索(高级)
SpringBoot之全文检索一 检索概述我们的应用经常需要添加检索功能,开源的 ElasticSearch 是目前全文搜索引擎的首选。他可以快速的存储、搜索和分析海量数据。Spring Boot通过整合SpringData ElasticSearch为我们提供了非常便捷的检索功能支持;Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard(分片)的方式保证数据安全,并且提供自动resharding的功能,github等大型的站点也原创 2021-03-30 23:04:00 · 1911 阅读 · 0 评论 -
SpringBoot之消息队列(高级)
SpringBoot之消息队列一 消息概述大多应用中,可通过消息服务中间件来提升系统异步通信、扩展解耦能力消息服务中两个重要概念:消息代理(message broker)和目的地(destination)当消息发送者发送消息以后,将由消息代理接管,消息代理保证消息传递到指定目的地。消息队列主要有两种形式的目的地(1) 队列(queue):点对点消息通信(point-to-point)(2)主题(topic):发布(publish)/订阅(subscribe)消息通信应用模型(1)异步处原创 2021-03-30 21:52:38 · 1853 阅读 · 0 评论 -
SpringBoot之缓存(高级)
SpringBoot之缓存(高级)一 JSR1071. JSR107介绍 Java Caching定义了5个核心接口,分别是CachingProvider, CacheManager, Cache, Entry和 Expiry。(1)CachingProvider定义了创建、配置、获取、管理和控制多个CacheManager。一个应用可以在运行期访问多个CachingProvider。(2)CacheManager定义了创建、配置、获取、管理和控制多个唯一命名的Cache,这些Cache存在于原创 2021-03-29 22:57:42 · 949 阅读 · 0 评论