Spring Boot中优雅地实现统一响应对象

前言 近日心血来潮想做一个开源项目,目标是做一款可以适配多端、功能完备的模板工程,包含后台管理系统和前台系统,开发者基于此项目进行裁剪和扩展来完成自己的功能开发。本项目为前后端分离开发,后端基于 Java21 和 SpringBoot3 开发,后端使用 Spring Security 、 JWT 、 Spring Data JPA 等技术栈,前端提供了…

hello hello 发布于 2024-02-03

Spring系列之Bean生命周期详解

Spring bean生命周期13个环节 阶段1:Bean元信息配置阶段 阶段2:Bean元信息解析阶段 阶段3:将Bean注册到容器中 阶段4:BeanDefinition合并阶段 阶段5:Bean Class加载阶段 阶段6:Bean实例化阶段(2个小阶段) Bean实例化前阶段 Bean实例化阶段 阶段7:合并后的BeanDefinition处理…

hello hello 发布于 2024-01-31

Spring系列之AOP核心源码、原理详解

本文主要分4部分 Aop原理介绍 介绍aop相关的一些类 通过源码详解aop代理的创建过程 通过源码详解aop代理的调用过程 Aop代理一些特性的使用案例 Spring AOP原理 原理比较简单,主要就是使用jdk动态代理和cglib代理来创建代理对象,通过代理对象来访问目标对象,而代理对象中融入了增强的代码,最终起到对目标对象增强的效果。…

hello hello 发布于 2024-01-31

Spring系列之@Value【用法、数据来源、动态刷新】

@Value的用法 系统中需要连接db,连接db有很多配置信息。 系统中需要发送邮件,发送邮件需要配置邮件服务器的信息。 还有其他的一些配置信息。 我们可以将这些配置信息统一放在一个配置文件中,上线的时候由运维统一修改。 那么系统中如何使用这些配置信息呢,spring中提供了@Value注解来解决这个问题。…

hello hello 发布于 2024-01-30

Spring系列之国际化详解

先说一下什么是国际化 简单理解,就是对于不同的语言,做出不同的响应。 比如页面中有个填写用户信息的表单,有个姓名的输入框 浏览器中可以选择语言 选中文的时候会显示: 姓名:一个输入框 选英文的时候会显示: Full name:一个输入框 国际化就是做这个事情的,根据不同的语言显示不同的信息。…

hello hello 发布于 2024-01-30

Spring系列之@Conditional通过条件来控制bean的注册

面试阿里p7被问到的问题(当时我只知道第一个): @Conditional是做什么的? @Conditional多个条件是什么逻辑关系? 条件判断在什么时候执行? ConfigurationCondition和Condition有什么区别?什么时候使用ConfigurationCondition?…

hello hello 发布于 2024-01-29

Spring系列之注解实现依赖注入(@Autowired、@Resource)

先来看几个问题 通过注解的方式注入依赖对象,介绍一下你知道的几种方式 @Autowired和@Resource有何区别 说一下@Autowired查找候选者的过程 说一下@Resource查找候选者的过程 @Qulifier有哪些用法? @Qulifier加在类上面是干什么用的? @Primary是做什么的? 泛型注入用过么?…

hello hello 发布于 2024-01-29

Spring系列之@ComponentScan、@ComponentScans详解(bean批量注册)

灵魂拷问 @ComponentScan注解是做什么的? basePackages的方式和basePackageClasses的方式有什么区别?你建议用哪个?为什么? useDefaultFilters有什么用? 常见的过滤器有哪些类型?说说你知道的几个 @ComponentScan是在哪个类中处理的?说一下大概的解析过程?…

hello hello 发布于 2024-01-26

Spring系列之@import详解(bean批量注册)

@Import出现的背景 目前为止,注解的方式批量注册bean,前面2篇文章中,我们介绍了2种方式: 到目前,我们知道的批量定义bean的方式有2种: @Configuration结合@Bean注解的方式 @CompontentScan扫描包的方式 下面我们来看几个问题。 问题1…

hello hello 发布于 2024-01-26

SpringBoot中Bean的条件装配

[toc] 概述 众所周知,SpringBoot最腻害的地方就是容器,开发人员的日常工作就是编写bean,并由框架扫描存到容器里面,当程序跑起来的时候,各种bean协同工作完成了软件功能。 那么容器是什么呢? 从概念层面来讲,容器是一个池子;从物理层面来讲,容器是一个内存块。 SpringBoot中默认是以单例形式装载bean的,所以 大多数…

hello hello 发布于 2024-01-26
上一页 下一页