spring mvc随笔-编程思维

一、SpringMvc学习笔记1、使用SpringMvc时需在web.xml文件中添加配置 <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-cl

主动写入流对@responsebody注解的影响-编程思维

问题回溯 2023年Q2某日运营反馈一个问题,商品系统商家中心某批量工具模板无法下载,导致功能无法使用(因为模板是动态变化的) 商家中心报错(JSON串): {"code":-1,"msg":"失败"} 负责的同事看到失败后立即与我展开讨论(因为不是关键业务,所以不需要回滚,修复即可),我们发现新功能模板下载的代码与之前的代码有所不同,恰好之前的功能又可以正常运行,所以同事对现有代码进行改造然

spring-编程思维

前言 先理解 DI 依赖注入再理解 Ioc 容器更好。这两个东西必须要放在一起讲,但是又要分好顺序去理解。理解之前不能先看概念,非常地抽象,应该从“为什么”起理解。总而言之,这个两个东西的出现是为了降低程序的耦合度。 DI 依赖注入 Java 里面有一个东西叫作“接口”,还有一个东西叫“抽象类”。不过这里讲的是“接口”,不知道你是否听说过“面向接口编程”。我的理解是,面向对象编程的同时,也要面向

spring boot-编程思维

接口的概念 接口(interface)是一种在面向对象编程中非常重要的概念,它有助于提高程序的可扩展性和灵活性。以下是接口如何体现程序高扩展性的几个方面: 分离接口与实现:接口定义了类应该具备的行为,但不提供具体的实现细节。这使得你可以将接口与其实现分离开来。当你需要更改或扩展程序的功能时,你可以创建新的实现类,而无需修改现有的代码。 多态性:接口允许多个类实现相同的接口,这意味着你可以通过接

面试官问spring 启动流程,把这篇文章甩给他!-编程思维

大家好,我是三友~~ 今天来扒一扒Spring在启动过程中核心的12个步骤 之所以来写这篇文章,主要是来填坑的 之前在三万字盘点Spring 9大核心基础功能这篇文章的末尾中给自己挖了一个坑,提了一嘴有机会要写这么一篇文章 但是由于Spring启动过程并不复杂,所以后面就没写了 不过,好巧不巧,刚刚好有兄弟来催更了,那么此时这个机会就来了,这篇文章也就有了 公众号:三友的java日记 前言

spring 动态创建数据源-编程思维

  项目需求如下,公司对外提供服务,公司本身有个主库,另外公司会为每个新客户创建一个数据库,客户的数据库地址,用户名,密码,都保存在主数据库中。由于不断有新的客户加入,所以要求,项目根据主数据库中的信息,来动态创建数据源。   解决方案:     spring提供了一个类,AbstractRoutingDataSource,可以创建多个数据库,并在几个数据库中进行切换。建议读者在读本文之前先了解

springboot 3 项目快速构建-编程思维

SpringBoot 3 项目快速构建如何快速搭建一个简单的SpringBoot项目 使用SpringBoot官方提供的脚手架工具Spring Initializr 使用阿里云提供的脚手架工具阿里云脚手架 本文使用阿里云脚手架工具来搭建一个简单的SpringBoot项目 1.打开阿里云脚手架工具构建方式选择Maven Project开发语言选择JavaSpr

spring 实现定时任务(手动配置,不用注解)-编程思维

1.情景展示 在java当中实现定时任务,主要有两种。 一种是通过java源码实现,另一种是通过spring框架来实现。 由于我们现在基本上使用的都是spring框架(SpringMVC、SpringBoot),况且,使用spring实现定时任务,代码更加简洁。 那么,如何是想spring来实现呢? 2.具体分析 使用spring实现,具体有两种。 一种是在spring框架中,手动配置定时任

beanutils.copyproperties:曾经是我的女神,现在是我的毒药。-编程思维

前言 BeanUtils.copyProperties十有八九是你这些年工作中用的很多的其中一个,不管是Apache的还是Spring的。 网上的解释浩如烟海,我这边用一个超简单的例子直观展示给你看。 以后就记住了,能不用就不用。 正文 1、网上的解释 我收纳了几个网上最典型的解释,也就是这个工具类的缺点,可以先回顾一下。 大致如下: 1、只能浅拷贝,简单理解就是只复制的引用,

jwt-编程思维

什么是JWT: JWT (JSON Web Token) 是目前最流行的跨域认证解决方案,是一种基于 Token 的认证授权机制。 从 JWT 的全称可以看出,JWT 本身也是 Token,一种规范化之后的 JSON 结构的 Token。 JWT 自身包含了身份验证所需要的所有信息,因此,我们的服务器不需要存储 Session 信息。这显然增加了系统的可用性和伸缩性,大大减轻了服务端的压力。 可

spring 太肥、太慢?你受不了?那 solon java framework 就是你的西施-编程思维

Solon 是什么? Java 生态型应用开发框架。它从零开始构建,有自己的标准规范与开放生态(历时五年,已有全球第二级别的生态规模)。与其他框架相比,它解决了两个重要的痛点:启动慢,费内存。2023年6月,Maven 单月下载量突破200万。 解决痛点? 由于Solon Bean容器的独特设计,不会因为扩展依赖变多而启动很慢(开发调试时,省时、爽快)!以知名开源项目“小诺”为例: “snow

面试官让列举spring的事务会失效的场景,我说了8个-编程思维

本文分享自华为云社区《哪些场景下Spring的事务会失效?》,作者:冰 河 。 在日常工作中,如果对Spring的事务管理功能使用不当,则会造成Spring事务不生效的问题。而针对Spring事务不生效的问题,也是在跳槽面试中被问的比较频繁的一个问题。 今天,我们就一起梳理下有哪些场景会导致Spring事务失效。 Spring事务不生效总览 简单来说,Spring事务会在几种特定的场景下失效,如

美团面试拷打:concurrenthashmap 为何不能插入 null?hashmap 为何可以?-编程思维

周末的时候,有一位小伙伴提了一些关于 ConcurrentHashMap 的问题,都是他最近面试遇到的。原提问如下: 整个提问看着非常复杂,其实归纳来说就是两个问题: ConcurrentHashMap 为什么 key 和 value 不能为 null? ConcurrentHashMap 能保证复合操作的原子性吗? 下面我会以此提供这两个问题的详细答案,希望对你有帮助。 Concurr

开源利器推荐:美团动态线程池框架的接入分享及效果展示-编程思维

前言 蛮早前有些过关于线程池的使用及参数的一些参考配置,有兴趣的可以翻看以前的博文,但终究无法解决线程池的动态监控和实时修改。 以前读过美团早期发布的动态线程池框架的思路相关文章,但想要独自实现不是一件容易的事。 去年,一款美团动态线程池的框架DynamicTp终于开源了,因此我有尝试使用一下,发现接入简单,侵入性也不强,支持的接入方式也多,总体还是很不错的。 我认为尤其适合中小企

springsecurity原理剖析与权限系统设计-编程思维

Spring Secutity和Apache Shiro是Java领域的两大主流开源安全框架,也是权限系统设计的主要技术选型。本文主要介绍Spring Secutity的实现原理,并基于Spring Secutity设计基于RBAC的权限系统。 一、技术选型 为何把Spring Secutity作为权限系统的技术选型,主要考虑了以下几个方面: 数据鉴权的能力:Spring Secutity支持

快手java一面11问(附参考答案)-编程思维

现在已经到了面试招聘比较火热的时候,后续会分享一些面试真题供大家复习参考。准备面试的过程中,一定要多看面经,多自测! 今天分享的是一位贵州大学的同学分享的快手一面面经。 快手一面主要会问一些基础问题,也就是比较简单且容易准备的常规八股,通常不会问项目。到了二面,会开始问项目,各种问题也挖掘的更深一些。 很多同学觉得这种基础问题的考查意义不大,实际上还是很有意义的,这种基础性的知识在日常开发中也

从头到尾说一次 spring 事务管理(器)-编程思维

事务管理,一个被说烂的也被看烂的话题,还是八股文中的基础股之一。​ 本文会从设计角度,一步步的剖析 Spring 事务管理的设计思路(都会设计事务管理器了,还能玩不转?) 为什么需要事务管理? 先看看如果没有事务管理器的话,如果想让多个操作(方法/类)处在一个事务里应该怎么做: // MethodA: public void methodA(){ Connection connection =