Spring & SpringBoot
文章平均质量分 85
Spring & SpringBoot
文晓武
专注搜索推荐问答推荐工程领域,涉及到的技术有:Java、ElasticSearch、SpringBoot、SpringCloud、Dubbo、Linux、Docker、Sql、Kafka、RabbitMQ、RocketMQ、MyBatis、XXl-Job、Zookeeper、Nginx、Redis、Tomcat、Git、SVN、Maven、K8S等,每周不定期更新精华文章!
展开
-
springboot如何把HttpServletRequest传入到controller
是由如tomcat这种Servlet容器创建的。Tomcat 创建的 Request 和 Response 的类结构图。至于这个是怎么传到你对应的controller方法内的,实际上就是SpringMVC里面的起的作用。这里先不展开,下面再讨论,先看一张图。转载 2023-01-07 12:16:23 · 2658 阅读 · 1 评论 -
Yaml语法详细介绍
YAML是"YAML Ain’t a Markup Language"(YAML不是一种标记语言)的递归缩写。YAML的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。主要强度这种语音是以数据为中心,而不是以标记语音为重心,例如像xml语言就会使用大量的标记。YAML是一个可读性高,易于理解,用来表达数据序列化的格式。它的语法和其他高级语言类似,并且可以简单表达清单(数组)、散列表,标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据转载 2022-06-14 19:59:55 · 4753 阅读 · 0 评论 -
SpringBoot + Redis:模拟 10w 人的秒杀抢单
本篇内容主要讲解的是redis分布式锁,这个在各大厂面试几乎都是必备的,下面结合模拟抢单的场景来使用她;本篇不涉及到的redis环境搭建,快速搭建个人测试环境,这里建议使用docker;本篇内容节点如下:Jedis的nx生成锁 如何删除锁 模拟抢单动作(10w个人开抢) jedis的nx生成锁 对于java中想操作redis,好的方式是使用jedis,首先pom中引入依赖:<dependency> <groupId>redis.clie转载 2022-02-26 17:38:51 · 220 阅读 · 0 评论 -
基于 Spring Boot 的 MySQL 实现读写分离
前言: 首先思考一个问题:在高并发的场景中,关于数据库都有哪些优化的手段?常用的有以下的实现方法:读写分离、加缓存、主从架构集群、分库分表等,在互联网应用中,大部分都是读多写少的场景,设置两个库,主库和读库,主库的职能是负责写,从库主要是负责读,可以建立读库集群,通过读写职能在数据源上的隔离达到减少读写冲突、释压数据库负载、保护数据库的目的。在实际的使用中,凡是涉及到写的部分直接切换到主库,读的部分直接切换到读库,这就是典型的读写分离技术。本篇博文将聚焦读写分离,探讨如何实现它。主从同步的局限...转载 2022-02-26 11:18:52 · 261 阅读 · 0 评论 -
Spring 为何需要三级缓存解决循环依赖,而不是二级缓存?(源码解析
前言在使用spring框架的日常开发中,bean之间的循环依赖太频繁了,spring已经帮我们去解决循环依赖问题,对我们开发者来说是无感知的,下面具体分析一下spring是如何解决bean之间循环依赖,为什么要使用到三级缓存,而不是二级缓存?bean生命周期首先大家需要了解一下bean在spring中的生命周期,bean在spring的加载流程,才能够更加清晰知道spring是如何解决循环依赖的。我们在spring的BeanFactory工厂列举了很多接口,代表着bean的生命周期,我们转载 2022-02-23 10:15:45 · 134 阅读 · 0 评论 -
Spring的Controller是单例还是多例,怎么保证并发的安全
答案:controller默认是单例的,不要使用非静态的成员变量,否则会发生数据逻辑混乱。正因为单例所以不是线程安全的。我们下面来简单的验证下:packagecom.riemann.springbootdemo.controller;importorg.springframework.context.annotation.Scope;importorg.springframework.stereotype.Controller;importorg.springframew...转载 2022-02-22 16:59:51 · 307 阅读 · 0 评论 -
Spring 的 @Autowired 三种注入方式介绍
介 绍今天使用Idea写代码的时候,看到之前的项目中显示有warning的提示,去看了下,是如下代码?@AutowiredprivateJdbcTemplatejdbcTemplate;提示的警告信息“Field injection is not recommended Inspection info: Spring Team recommends: "Always use constructor based dependency injection in your beans. A..转载 2022-02-22 16:26:08 · 5143 阅读 · 2 评论 -
SpringBoot四大核心组件基本介绍
前言先透露一下,四大组件分别是:starter, autoconfigure, CLI 以及actuator。下面我们就来详细介绍一些他们有什么用。一、Spring Boot Starter1.1 Starter的应用示例<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</a...转载 2022-02-15 16:08:46 · 1680 阅读 · 0 评论 -
Spring如何解决循环依赖问题:三级缓存
哈喽大家好,我是一条最近有粉丝提到了循环依赖问题,以后再有人问你,拿这篇“吊打”他。概念什么是循环依赖?多个bean之间相互依赖,形成了一个闭环。比如:A依赖于B、B依赖于C、C依赖于A。通常来说,如果问Spring容器内部如何解决循环依赖,一定是指默认的单例Bean中,基于set方法构造注入的属性互相引用的场景。循环依赖的种类及能否解决如下:名称 是否可解决循环依赖 构造器循环依赖 否 Setter循环依赖 是 Prototype作...转载 2022-02-09 17:32:41 · 684 阅读 · 1 评论 -
Springboot @Order注解正确用法
结论@Order注解不能指定 bean 的加载顺序,它适用于 AOP 的优先级,以及将多个 Bean 注入到集合时,这些 bean 在集合中的顺序Order注解控制Component加载顺序注意:组件类必须实现接口package com.wenxiaowu.springboot.order.component;import org.springframework.boot.CommandLineRunner;import org.springframework.boot.Spri原创 2022-01-25 11:23:52 · 4866 阅读 · 0 评论 -
Spring Boot之 Bean加载顺序之错误使用姿势辟谣
在网上查询 Bean 的加载顺序时,看到了大量的文章中使用@Order注解的方式来控制 bean 的加载顺序,不知道写这些的博文的同学自己有没有实际的验证过,本文希望通过指出这些错误的使用姿势,让观文的小伙伴可以知道@Order的具体的应用场景I. 环境搭建创建一个 maven 项目,pom 文件如下(具体的项目代码,可以在文末获取)<parent> <groupId>org.springframework.boot</groupId>转载 2022-01-25 10:38:34 · 210 阅读 · 0 评论