Spring
文章平均质量分 84
老程不秃
这个作者很懒,什么都没留下…
展开
-
太狠了,Spring 全家桶笔记, 一站式通关全攻略, 已入职某厂涨薪 18K
Spring 早已成为 Java 后端开发事实上的行业标准,无数的公司选择 Spring 作为基础的开发框架,大部分 Java 后端程序员在日常工作中也会接触到 Spring ,因此,如何用好 Spring ,也就成为 Java 程序员的必修课之一。为了让你把知识点掌握得更牢固,理解得更透彻。今天给大家安利下 spring 全家桶资料。原创 2023-07-31 14:06:57 · 244 阅读 · 0 评论 -
贼全! 一举通关的 Spring+SpringBoot+SpringCloud 全攻略, 是真香啊
Spring Boot 和 Spring Cloud 已成为 Spring 生态中不可或缺的一环。想成为一名合格的 Java 后端工程师,Spring Framework、Spring Boot、Spring Cloud 这三者必须都牢牢掌握。原创 2023-07-29 14:22:49 · 240 阅读 · 1 评论 -
阿里大佬都内卷的 SpringBoot 从入门到实战笔记,太硬核了!
本教程内容通俗易懂,案例丰富,实用性强,特别适合 Spring Boot 入 门和进阶读者阅读,也适合从事 Java 微服务开发的程序员和其他编程爱好者阅读。原创 2023-07-29 13:50:52 · 135 阅读 · 0 评论 -
Github 上 爆火,标星 103K的 Spring Security 手册及源码笔记,YYDS
Spring Security 是一个基于 Spring AOP 和 Servlet 过滤器的安全框架,它提供了安全性方面的解决方案Spring Security 作为非常强大的框架,作为程序员是非常热爱的,我这里整理了四份 Spring Security 手写笔记及实战手册。原创 2023-07-28 15:13:45 · 120 阅读 · 0 评论 -
阿里技术官:这样带你学Spring全家桶,其实没你想的那么难
Spring Boot 应用本质上就是一个基于 Spring 框架的应用,Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot 致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。原创 2023-07-26 13:39:34 · 68 阅读 · 0 评论 -
肝!熬夜到天明,阿里顶配级 Spring Security 笔记
Spring Security 是一个能够为基于 Spring 的企业应用系统提供声明式的安全访问控制解决方案的安全框架。由于它是 Spring 生态系统中的一员,因此它伴随着整个 Spring 生态系统不断修正、升级,在 spring boot 项目中加入 springsecurity 更是十分简单,使用 Spring Security 减少了为企业系统安全控制编写大量重复代码的工作。原创 2023-07-15 16:38:32 · 80 阅读 · 0 评论 -
阿里内部热捧“Spring 全线笔记”太完整了程序员必备啊!
Spring 很像银行,它不能直接创造物质财富,但是一切资源都要通过它进行流通,它能控制经济发展的走向,回到程序的世界,Spring 之所以能够衍生家族系列,可见它的流行程度和使用程度,由此可见学习 Spring 框架是非常重要的。【“Spring 全线笔记”原文档👇】原创 2023-07-10 16:36:14 · 94 阅读 · 0 评论 -
阿里 P9 架构师力荐!Spring 领域巅峰之作,颠覆了我对 Spring 的认知
你第一次接触 spring 框架是在什么时候?相信很多人和我一样,第一次了解 spring 都不是做项目的时候用到,而是在网上看到或者是听到过一个叫做 spring 的框架,这个框架号称完爆之前的 structs 和 structs2,吸引了不少人的注意。今天这份阿里 P9 架构师推荐的 Spring 领域巅峰之作,我读完这本书之后彻底颠覆了我对 Spring 的认知。本书从源代码的角度对 Spring 的内核和各个主要功能模块的架构、设计和实现原理进行了深入剖析。原创 2023-07-05 16:09:15 · 396 阅读 · 0 评论 -
Redisson延迟队列执行流程源码分析一下
在实际分布式项目中延迟任务一般不会使用JDK自带的延迟队列,因为它是基于JVM内存存储,没有持久化操作,所以当服务重启后就会丢失任务。 在项目中可以使用MQ死信队列或redisson延迟队列进行处理延迟任务,本篇文章将讲述redisson延迟队列的使用demo和其执行源码。demo示例通过脚手架创建一个简易springboot项目,引入redisson的maven依赖,并简单配置redisson连接属性。 <!-- redisson引用 --> <dependen原创 2022-01-19 13:16:52 · 3262 阅读 · 0 评论 -
SpringBoot 同一个接口同时支持 form 表单、form-data、json 的优雅写法
网上很多代码都是千篇一律的 cvs,相信我只要你认真看完我写的这篇,你就可以完全掌握这个知识点,这篇文章不适合直接 cvs,一定要先理解。最近重写个项目遇到个比较棘手的问题,老项目是 PHP 接口,这个接口同时兼容 POST json 和 form 表单,更骚的是连 form-data 也兼容。。。因为写 PHP 请求的对接方代码不严谨。详见这里。而在 Java 中,一个接口只支持一种content-type,json 就用 @RequestBody,form 表单就用 @RequestP...原创 2022-01-18 22:09:51 · 4485 阅读 · 1 评论 -
Spring处理循环依赖只使用二级缓存可以吗?
什么是循环依赖?先说一下什么是循环依赖,Spring在初始化A的时候需要注入B,而初始化B的时候需要注入A,在Spring启动后这2个Bean都要被初始化完成Spring的循环依赖有4种场景构造器的循环依赖(singleton,prototype) 属性的循环依赖(singleton,prototype)「spring目前只支持singleton类型的属性循环依赖」构造器的循环依赖@Componentpublic class ConstructorA { private Co原创 2022-01-15 15:55:17 · 1632 阅读 · 0 评论 -
CTO 说了,用错@Autowired 和@Resource 的人可以领盒饭了
介绍今天使用Idea写代码的时候,看到之前的项目中显示有warning的提示,去看了下,是如下代码?@Autowireprivate JdbcTemplate jdbcTemplate;提示的警告信息Field injection is not recommended Inspection info: Spring Team recommends: "Always use constructor based dependency injection in your beans. Al原创 2022-01-15 15:53:54 · 94 阅读 · 0 评论 -
零基础可以学Java吗,需要学到什么程度才能找到工作?
又快要到一年一度的 “金三银四” 春招大热门,为助力广大程序员朋友 “面试造火箭”,小编今天给大家展示的便是这份马士兵内部的面试神技——1658 页《Java 面试突击核心讲》!注:这份神技是由内部十余名 Java 架构讲师纯手打总结的春招招最新版面试突击文档如需参考原件 pdf 学习+刷题可双击:资料获取方式 即可面试神技——1658 页《Java 面试突击核心讲》主要包含:Java 基础、JVM、多线程、MySQL、Spring、SpringBoot、SpringCloud、分布式.原创 2022-01-15 15:34:23 · 298 阅读 · 0 评论 -
Spring MVC整体结构介绍,图文+代码
Spring MVC是Spring提供的构建Web应用程序的框架,该框架遵循了Servlet规范,负责接收并处理Servelt容器传递的请求,并将响应写回Response。Spring MVC以DispatcherServlet为核心,众多组件如HandlerMapping为辅助,为用户封装了请求映射等底层逻辑,让用户可以更专注与业务逻辑的处理。本文会对Spring MVC整体结构做简单介绍。Spring MVC结构图Spring MVC是一个基于Servlet容器的Web应用框架,这里的Servl原创 2022-01-14 14:54:16 · 1984 阅读 · 1 评论 -
Spring事务捕获异常后依旧回滚
前沿一段生产事故发人深省,在Spring的声明式事务中手动捕获异常,居然判定回滚了,这是什么操作?话不多说直接上代码@Servicepublic class A { @Autowired private B b; @Autowired private C c; @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT) public...原创 2022-01-14 13:48:27 · 7388 阅读 · 5 评论 -
10次面试9次被刷?吃透这500道大厂Java高频面试题后,怒斩offer
很多Java工程师的技术不错,但是一面试就头疼,10次面试9次都是被刷,过的那次还是去了家不知名的小公司。问题就在于:面试有技巧,而你不会把自己的能力表达给面试官。应届生:你该如何准备简历,面试项目和面试说辞?Spring底层逻辑是什么? 1-3年经验的程序员:面试中你该讲哪些值钱的技术?如何用这些值钱的技术最大程度展示自己的技能?分布式组件底层逻辑是什么? 3-5年经验的程序员:k8s怎么搭建实践?这些问题,相信每一位Java程序员都曾遇到过,甚至有的人至今也不知道要怎么解决,屡面屡原创 2021-12-31 17:24:58 · 99 阅读 · 0 评论 -
这份Java面试八股文让300余人上岸大厂,2021都卷成这样了,眨眼迎来2022还不赶紧动起来?
前言2021即将过去,迎来2022春招将近,很多同学会问Java面试八股文有必要背吗?我的回答是:很有必要。你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂。国内的互联网面试,恐怕是现存的、最接近科举考试的制度。而且,我国的八股文确实是独树一帜。以美国为例,北美工程师面试比较重视算法(Coding),近几年也会加入Design轮(系统设计和面向对象设计OOD)和BQ轮(Behavioral question,行为面试问题)。那么为什么国内面试不采取这样的考察方式呢?简单来.原创 2021-12-31 16:58:42 · 185 阅读 · 0 评论 -
spring-cloud-gateway 入门使用
1. 基本介绍网关开发中一般指的是: 应用的统一流量入口,负责转发请求到指定服务;spring-cloud-gateway : 基于spring5.0, spring boot 2.0 , project reactor 等技术开发的网关,目的是为 微服务架构提供一种简单有效的统一的API路由管理方式;1.1 通用网关功能以下是网关的基本功能结构,围绕这几个点开始学习;1.2 特有属性介绍SpringCloud 官网介绍: 基于spring framewor原创 2021-12-31 15:46:36 · 1199 阅读 · 0 评论 -
掌握这篇SpringBoot薪资直涨40%,还怕进不了大厂?
前言:SpringBoot的好处是把Java2EE的各项技术的整合变得非常的简单,但是也有它的缺点,它的封装性太强,如果你想了解SpringBoot底层的原理,你必须对SpringMvc、Spring注解等比较了解,你才能更好的去了解SpringBoot底层原理。同时它在阿里也是一种非常重要的技术点,长期以来这个技术点,也让我辗转反侧,深思了多个可以突破的技术点,正处于迷茫之际,偶然一天朋友推荐,有幸看到了这个SpringBoot,让我备受感发!在此小编分享给大家。由于文章篇幅原因,文末有答案原创 2021-12-28 21:31:23 · 171 阅读 · 0 评论 -
不是说Spring三级缓存可以解决循环依赖吗?怎么我写的就GG了
大家都知道Spring 通过三级缓存来解决循环依赖问题,但是我今天写出来个循环依赖,直接报错,难受啊,三级缓存并没有被关闭,本篇文章我们就来深入分析一下三级缓存,以及为啥我的项目启动不了,罪魁祸首就是@Async。1. 什么是循环依赖?上代码!@Serviceclass ServiceA { @Autowired ServiceB serviceB; public void test() { }}@Serviceclass Se...原创 2021-12-28 13:18:20 · 183 阅读 · 1 评论 -
「技术原理」Spring Security的核心功能和加载运行流程的原理分析
SpringSecurity的架构总览Spring Security的简介说明Spring Security对认证、授权和常见漏洞保护提供了全方位支持。使用的版本为:Spring Security 5.5.2。概念释义 认证(Authentication):认证就是对试图访问资源的用户进行验证。 认证的场景就是 登录 流程,常见的方式就是要求提供用户名和密码,当验证通过的时候,就可以执行授权操作。 授权(Authority):授权就是对资源进行权限设置,只有用户具...原创 2021-12-27 13:30:33 · 686 阅读 · 0 评论 -
SpringBoot启动流程
本文以调试一个实际的SpringBoot启动程序为例,参考流程中主要类类图,来分析其启动逻辑和自动化配置原理。一、SpringBoot启动流程图二、SpringBoot启动入口@EnableScheduling@EnableAsync@SpringBootApplication@EnableAspectJAutoProxy@ComponentScan(basePackages = { "cn.gov.zcy.demand", "cn.gov.zcy.原创 2021-12-21 14:47:00 · 19794 阅读 · 1 评论 -
来~ 手写一个spring-boot-starter
前言我们都知道,Spring Boot最大的特点就是自动装配,简化依赖,可以让我们快速的搭建项目。使用Spring Boot之后,我们要想在项目中使用一些其他框架,只需要引入对应的Starter依赖就可以了。那么你在实际开发中是否也开发过一些基础功能,这些功能需要在你们的Spring Boot项目中使用呢?而这些功能可能在其他项目中可能也需要用到,如果我们把相同的功能在另一个项目中重新再写一遍的话肯定不是一个好方法。我们可以将我们的功能做成一个对应的Starter模块,在项目中要使用..原创 2021-12-20 15:51:30 · 469 阅读 · 0 评论 -
想做Java大咖?那就带你盘点一下最常用的类库
想做Java界的大咖,那不得来看一看一个Java程序员要学多少东西才能走的更加长远。昨天下载下来Java16尝尝鲜。一看,好家伙,足足有176MB大。即使把jmc和jvisualvm给搞了出去,依然还是这么大,真的是让人震惊不已。但即使JDK足够庞大,它的功能也已经不够用了。我们需要借助于第三方库,来完成企业级开发。比如,一个常见的SpringBoot服务,上百兆是轻轻松松的。1. Netty第一送给Netty。其实我是有私心的,也只有在使用Netty开发一些网络应用的时候,我才能理直气原创 2021-12-18 15:52:00 · 170 阅读 · 0 评论 -
请问你能自己实现一个AOP吗?
包装一个切面通知信息什么是切面通知信息,他是做什么的?说白了就是将我们AOP中所需要的目标对象,方法匹配器,方法拦截器,同一整合到一个类中。这样我们后续实现代理类的时候,就可以通过关联关系(通俗的理解就是作为代理类的一个成员变量)使用这个切面通知信息类。切面通知信息成员属性介绍我们首先来看看笔者实现的切面通知信息类,实现也很简单,一个目标对象类TargetSource,一个方法匹配器MethodMatcher,一个方法拦截器methodInterceptor,我们不妨看看这每个成员变量的具体原创 2021-12-18 15:40:06 · 83 阅读 · 0 评论 -
牛掰~ 通过Arthas定位,解决了spring-boot中内嵌tomcat的Bug问题
背景公司有个渠道系统,专门对接三方渠道使用,没有什么业务逻辑,主要是转换报文和参数校验之类的工作,起着一个承上启下的作用。最近在优化接口的响应时间,优化了代码之后,但是时间还是达不到要求;有一个诡异的100ms左右的耗时问题,在接口中打印了请求处理时间后,和调用方的响应时间还有差了100ms左右。比如程序里记录150ms,但是调用方等待时间却为250ms左右。下面记录下当时详细的定位&解决流程(其实解决很简单,关键在于怎么定位并找到解决问题的方法)定位过程分析代码渠道系统是一原创 2021-12-10 14:11:31 · 366 阅读 · 0 评论 -
年轻人不讲武德,竟重构出这么优雅后台 API 接口
最近偶然间在看到 Spring 官方文档的时候,新学到一个注解 @ControllerAdvice,并且成功使用这个注解重构我们项目的对外 API 接口,去除繁琐的重复代码,使其开发更加优雅。展示具体重构代码之前,我们先来看下原先对外 API 接口是如何开发的。这个 API 接口主要是用来与我们 APP 交互,这个过程我们统一定义一个交互协议,APP 端与后台 API 接口统一都使用 JSON 格式。另外后台 API 接口对 APP 返回时,统一一些错误码,APP 端需要根据相应错误码,在页面弹原创 2021-12-08 20:47:31 · 293 阅读 · 0 评论 -
spring IOC容器操作Bean管理——完全注解方式
1、什么是注解1.注解是代码的特殊标记,格式:@注解名称(属性名=属性值,属性名=属性值)2.使用注解,可以作用在类上面、方法上面、属性上面3.使用注解的目的:简化xml配置文件2、创建Bean对象可以使用的注解1.@Component2.@Controller3.@Repository4.@Service上面四个注解的功能都是一样的,都可以用来创建bean对象实例步骤1:创建一个配置类//替代xml配置文件,表示MyConfig是一个配置类@Configur原创 2021-12-08 13:40:01 · 156 阅读 · 0 评论 -
SpringBoot常用注解 | @Configuration
前言SpringBoot 中简化了大量的配置文件,取而代之的是利用注解完成之前通过配置文件完成的工作。操作上便捷了很多,但是也隐藏了一些内部实现细节,在使用的时候不能盲目,应该了解在以往 Spring 项目中是如何配置的,这样可以加深我们对 SpringBoot 的理解概述类上加这个注解就说明这个类是一个配置类Spring 项目中添加配置类在传统的 Spring 项目中,我们想要引入一个配置类,通常是定义一个 bean.xml ,然后通过 bean 注解给容器中添加组件...原创 2021-11-25 21:43:42 · 732 阅读 · 0 评论 -
源码分析:Spring是如何获取容器中的Bean?
之前分析了Bean是如何注册到容器中的,既然我们把Bean交给Spring来管理,在我们需要对象的时候Spring会自动帮我们注入,那Spring肯定会有一个从容器中获取Bean的过程,只不过这个过程是Spring框架来帮我们完成的,对于我们使用者来说没有感知下面我们就通过源码来看一下Spring是如何从容器中获取Bean的简单的例子首先还是从一个简单的例子来入手,XML配置方式我们一般这样获取BeanClassPathXmlApplicationContext applica..原创 2021-11-25 21:06:13 · 589 阅读 · 0 评论