spring bean继承的一个误解

xxAction继承BaseAction,BaseAction注入了一个CommonManager,BaseAction.commonSave()方法调用了commonManager。

本来想xxAction调用父类的commonSave方法将会导致commonManager为null的错误,因为jvm去初始化BaseAction时并不会去注入CommonManger。
其实解决这个问题只需要在子类xxAction bean配置文件中加上commonManager这个property,然后把父类BaseAction的commonManager 改为protected就 Ok了。这样初始化子类的时候会注入commonManager,调用commonSave方法也就不会抛出npe了。

配置文件中把xxAction 加上parent的配置也是可以的,这样会把父类的所有property都注入
Spring @Component 注解底层原理与实战避坑指南 @Component 是 Spring IoC 容器最基础的组件声明机制,其本质是触发类路径扫描(ClassPathBeanDefinitionScanner)的元数据标记,而非简单语法糖。它通过 ASM 字节码解析在运行时识别注解,驱动 BeanDefinition 构建、依赖注入与生命周期管理。作为 @Service、@Repository 等语义化注解的元注解,@Component 支撑着 Spring Boot 自动装配、条件化加载(@Conditional)及模块化治理能力。深入理解其扫描边界、命 阅读详情

相关推荐

@Autowired不是自动注入,而是Spring IoC契约执行器

@Autowired是Spring框架中实现依赖注入的核心注解,其本质并非魔法般的自动装配,而是IoC容器在Bean生命周期中严格遵循类型匹配、@Primary优先级与@Qualifier名称匹配三级决策树的契约化装配机制。它依赖Spring容器运行时环境、Java Annotation元数据支持及明确的Bean注册状态,脱离容器即失效。该机制保障了依赖解析的确定性与可预测性,支撑微服务架构下高内聚、低耦合的工程实践,在Spring Boot应用开发、单元测试设计、AOP代理生效及线上故障排查等关键场景中具

weixin_30383279的博客 428

Spring中的Bean继承关系

写在之前最近没事在浏览Spring官网,简单写一些相关的笔记,并不包所有技术点,信息来自Spring5.2.3。

Keep learing, and stay fast 1999

Spring @Component 注解原理与实战避坑指南

@Component 是 Spring 框架中最基础也最易被误解的组件声明机制,其本质是触发类路径扫描、BeanDefinition 注册与实例化三阶段生命周期的元数据契约。它不直接创建对象,而是通过 `@ComponentScan` 驱动容器识别候选类,再经 `AnnotatedBeanDefinitionReader` 转换为可调度的 Bean 元信息。理解其扫描路径规则、嵌套类限制、名称生成逻辑及与 `@Bean` 的分工边界,是避免空指针、AOP 失效、启动失败等高频问题的关键。在微服务与模块化架构

weixin_34082695的博客 375

Spring 基础教程 (第 11 章) - Spring Bean 继承

在 Spring 中,Bean 和 Bean 之间也存在继承关系。我们将被继承的 Bean 称为父 Bean,将继承父 Bean 配置信息的 Bean 称为子 Bean。

分享编程干货 305

@Repository注解:Spring数据访问层的契约与治理基石

在Spring框架中,@Repository是一个语义化注解,用于标识数据访问层组件。它不仅触发Bean自动注册,更关键的是激活PersistenceExceptionTranslationPostProcessor异常翻译机制,将JDBC、MyBatis等底层技术异常统一转换为Spring标准的DataAccessException体系,提升错误处理的可维护性与一致性。该注解还作为事务切面(TransactionInterceptor)和APM监控埋点的语义锚点,支撑分布式系统中的可观测性与稳定性保障。广

weixin_33725515的博客 436

从Demo到产品:基于ADAU1452的ANC方案,硬件选型、性能优化与避坑指南

本文详细解析了基于ADAU1452的主动降噪(ANC)方案从Demo到产品的实现路径,涵盖硬件选型、性能优化与实战避坑指南。重点探讨了ADAU1452与ADAU1466的性能差异、编解码器选型策略,以及MFXLMS算法优化技巧,为工程师提供从理论验证到量产落地的系统级解决方案。

weixin_30542079的博客 452

spring——Spring Bean继承

小白龙白龙马的博客 198

手把手教你用闲置安卓手机+蓝鲸支付,零成本搞定个人项目自动收款(附私有化部署教程)

本文详细介绍了如何利用闲置安卓手机和蓝鲸支付系统,零成本搭建个人项目自动收款解决方案。通过私有化部署教程,读者可以学习到从手机选择、系统配置到支付渠道对接的全流程,实现安全、高效的收款系统,特别适合个人开发者和小型项目使用。

weixin_29597551的博客 335

Spring基础——Bean定义的继承(Bean配置中的parent属性)

概述XML配置中Bean定义的parent属性用法。

NoBugNoLife的博客 1564

一文搞懂【Linux 搭建 Dread Hunger 服务器】附本体及Docker部署集群方案

看直播发现了五花八门的开服器和版本,一时兴起按官方文档进行了搭建尝试,所以我的版本基于官方Stream2024.01.10更新的版本,也就是停服时的玩法,应该可以根据mod和补丁魔改成更那些开服器一样的版本,本文不做谈论,注重服务器搭建,毕竟8个人不可能在一个局域网里乱象:首先,我看了大量教程视频,一类是开服器的推广,另一类自建的基本采用Windows搭建,我觉得最离谱的是大部分教程都会教你买一台远程Windows虚拟机???

LHmine的博客 3987

【YOLOv11】014、YOLOv11模型导出:PyTorch到ONNX格式转换与优化

摘要:本文详细介绍了如何将PyTorch训练的YOLOv11模型高效转换为ONNX格式。重点包括:分离模型特征提取与后处理、设置动态维度、优化ONNX算子、验证转换正确性等关键步骤。作者分享了实际项目中的经验教训,如版本对齐、算子兼容性处理、后处理分离等实用技巧,并推荐使用onnx-simplifier工具优化模型。文章强调模型转换是一个需要反复调试的过程,建议保留转换记录形成知识库,以提高部署效率并避免常见错误。

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 306

Spring Bean继承

在 Spring 中,Bean 和 Bean 之间也存在继承关系。我们将被继承的 Bean 称为父 Bean,将继承父 Bean 配置信息的 Bean 称为子 Bean。 Spring Bean 的定义中可以包含很多配置信息,例如构造方法参数、属性值。子 Bean 既可以继承父 Bean 的配置数据,也可以根据需要重写或添加属于自己的配置信息。 在 Spring XML 配置中,我们通过子 Bean 的 parent 属性来指定需要继承的父 Bean,配置格式如下。 1. 2. 3. 4.

洛卡JAVA架构师每日分享Java架构师知识 912

AI 学术科研与论文写作的正确打开方式!不套提示词模板,靠这个思路完美实现人机共创

真正的“人机共创”,也就是AI引导我思考的过程,如果你想用你的模糊需求,去写出专业化的学术内容,那是不可能的。对想快速完成某些学术任务的同仁来说,我们完全不用去抠提示词的细节,直接用魔法打败魔法,设计一段优化提示词的结构化提示词(提示词架构),辅助优化你的模糊需求。创建好之后,可以对它提你的任何模糊学术需求,比如写论文、写综述、学术润色等等,它绝不会直接帮你生成,而是先搞懂你的真实意图。以上整个流程,完全没有一句废话,先是思考,再是向你提问弄懂你的意图,最后整合你给出的关键信息,直接优化你给的模糊需求。

智能AI让学术科研更容易 478

不一样 使用别名 数据字段和bean_Spring源码解析(1):Bean容器

这一篇开始,正式进入Spring源码解析。本系列主要讨论单例Bean。需要的知识储备有:如何阅读Spring源码Spring基础(1):两个概念Spring基础(2):放弃XML,走向注解Spring基础(3):复习尚硅谷Spring注解开发视频_雷丰阳老师源码之所以难,是因为体量庞大、抽象层次深。如果之前从来没看过,很难有全局观。本系列采用先局部,再整体,再局部的方式展现Spring的源码。今天...

weixin_42509105的博客 254

区块链技术概述:从比特币到Web3.0

区块链技术正重塑数字世界的信任机制。本文系统梳理了区块链的发展路径:从比特币的PoW共识和UTXO模型,到以太坊的智能合约和账户体系,直至Web3.0的去中心化互联网愿景。文章详细解析了区块链的核心特性(去中心化、不可篡改等)和数据结构,通过流程图展示了比特币交易生命周期和智能合约执行流程,并对比了Web2.0与Web3.0的关键差异。最后,用Python代码实现了包含区块类、交易处理和挖矿机制的简易区块链系统,为理解区块链底层原理提供了实践参考。

闲人编程的博客 458

【002】C++ 语言核心:关键字深度解析与分类指南

auto:自动类型推导bool:布尔类型break:跳出循环或switch语句case:switch语句分支char:字符类型class:定义类const:常量continue:结束当前循环,开始下一次循环default:switch语句默认分支delete:删除对象do:do-while循环double:双精度浮点数类型else:if语句的否定分支enum:枚举类型explicit:显式构造函数export:导出符号extern:声明外部变量或函数。

Lion_Long的博客 1250

普通类如何安全获取Spring Bean资源的五种实战方案

在Java开发中,依赖注入(DI)是Spring框架的核心机制,但其作用范围严格限定于容器管理的Bean;普通new对象、第三方工具类或动态加载类因未纳入IoC容器,无法直接使用@Autowired等注解,极易引发NullPointerException。理解Bean生命周期、ApplicationContext作用域及AOP代理原理,是解决该问题的基础。技术价值在于打通非托管对象与Spring生态的桥梁,保障微服务模块解耦、中间件可插拔及遗留系统平滑迁移。典型应用场景包括:SDK工具类复用业务Servic

weixin_34146805的博客 283

【DaVinci Developer专题】-8-创建一个枚举Enum ADT(Application Data Type)

目录 1 创建一个枚举Value ADT(Application Data Type) 1.1 命名application data type 1.2 创建一个computation method计算方法属性 1.3 创建一个Contraint约束条件属性 2 创建了一个新的Type Mapping Sets 3 创建了一个S/R Port Interface 4 SWC引用Type Mapping set 5 导入CFG生成代码的总结 6 结尾 <--返回「实战篇」博文-总目录-

「汽车电子助手」的博客 2292

Spring @Service生成bean名称的规则 dubbo 找不到对应的bean

转自:https://www.cnblogs.com/kevin-yuan/p/5437140.html 今天碰到一个问题,写了一个@Service的bean,类名大致为:BKYInfoServcie.java dubbo export服务的配置: 结果启动报错:找不到名为bKYInfoServcie的bean bean的名字不是我预期的"bKYInfoServ

laokaizzz的专栏 7578

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Spring 注入 bean 的 set 方法不能是 static 的

一、简述 静态方法是属于类(class)的,普通方法属于实体对象(也就是 new 出来的对象)。Spring注入是在容器中实例化对象,所以不能使用静态方法。在Springframework里,不能@Autowired一个静态变量,使之成为一个Spring bean。例如下面这样: @Autowired private static OurBean ourBean; ourBean在这种状态下不能够被依赖注入,会抛出运行时异常java.lang.NullPointerException,为什么呢?静

ChineseSoftware的博客 1175

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Spring三大工厂:Bean工厂、工厂Bean、对象工厂

Spring作为Java开发的核心框架,其IoC容器负责Bean的创建与生命周期管理。在容器底层,BeanFactory、FactoryBean、ObjectFactory三个概念贯穿了源码与实战。BeanFactory是容器的根接口,定义了获取Bean与管理生命周期的基本规则;FactoryBean是一类特殊的Bean,允许开发者定制对象的生成方式,MyBatis的Mapper代理正是借此机制注入框架能力;ObjectFactory则提供了延迟获取对象的句柄,Spring解决循环依赖的三级缓存中,第三级存

weixin_29306875的博客 293

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Spring Bean生命周期详解:从BeanDefinition到销毁全流程

在Java企业级开发中,Spring的IoC容器是核心基础,而Bean生命周期则是理解容器行为的关键。从BeanDefinition解析开始,容器需完成实例化、属性填充、初始化等阶段,每个阶段都提供了如BeanPostProcessor、InitializingBean等扩展点。Spring依赖注入(如@Autowired、@Value)的生效时机、AOP代理的创建位置,以及@PostConstruct与@PreDestroy回调的执行顺序,都紧密关联生命周期各阶段。掌握这些原理,不仅有助于解决线上因属性未

weixin_29229055的博客 218

理解 Spring Order 注解

我们都知道 @Order 是控制优先级的,越小优先级越高,那么问题来了,是控制什么的优先级呢(虽然不能太“杠”,但是个人认为有时候还是得咬文嚼字)。有博客(相关链接见文末)的说法是“注解 @Order 的作用是定义 Spring 容器加载 Bean 的顺序”,其相关示例如下: 定义了三个 Bean: @Component @Order(1) public class Cat { ...

【欢迎关注公众号:冬瓜白】 2142

Spring公共属性注入问题

今天在使用Spring的抽象Bean时,出现了很多差错,可以说十分多。仔细排了一下,原来是我理解错了。对于公共属性注入,在抽象Bean中必须是公共属性。我以为Spring继承和类继承一样,于是乎,把全部属性写进了抽象Bean。现在想想,还是我的想法好。Spring既然开发出了公共属性注入,那么将非完全公共属性放进抽象Bean中应该更好。谁需要谁就继承嘛,干吗非要让所有Bean都有才可以嘛!!要不抽...

经过一个过程,然后成为自己 229

Spring框架中BeanFactory与FactoryBean的核心区别与应用

在Spring框架中,IOC容器和工厂模式是两个基础但关键的概念。BeanFactory作为Spring最基础的IOC容器接口,负责管理bean的生命周期和依赖注入,体现了控制反转的设计思想。而FactoryBean则是一种特殊的工厂模式实现,允许开发者自定义复杂对象的创建逻辑。理解这两者的区别对于掌握Spring核心原理至关重要。在实际开发中,BeanFactory适用于基础的依赖管理场景,而FactoryBean则常用于集成第三方库或创建复杂对象,如MyBatis的SqlSessionFactory。通

weixin_30655569的博客 357

深入解析Spring IOC、AOP与事务管理核心原理

控制反转(IOC)和面向切面编程(AOP)是Spring框架的两大核心设计思想。IOC容器通过Bean生命周期管理实现组件解耦,其三级缓存机制能优雅解决循环依赖问题。AOP则基于动态代理技术,通过JDK Proxy或CGLIB实现方法拦截,在事务管理、日志记录等场景发挥关键作用。事务传播行为与隔离级别是保证数据一致性的重要机制,但需注意同类调用、异常处理等典型失效场景。在电商、金融等高并发系统中,合理运用这些技术能显著提升系统稳定性和可维护性。本文结合百万级订单系统实战经验,剖析Spring底层实现原理与常

weixin_34384557的博客 687
上一篇: Re: SAAS(软件即服务)的时代即将来临吗?
下一篇: 福州厦门行
eyejavaeye
博客等级 码龄20年 74粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值