当前位置: 首页 > news >正文

@bean注解

@Configuration、@Component、@Controller等

@Configuration、@Component、@Controller都属于 Spring 标识组件类的注解,核心关系是:@Component是最基础的通用注解,@Configuration和@Controller都是@Component的派生注解。

  1. @Component:是 Spring 组件扫描的根注解,标注的类会被 Spring 容器识别并实例化为 Bean,适用于通用的组件类。
  2. @Controller:是分层架构专用注解,继承自@Component,专门标注 MVC 架构中的控制器类,Spring MVC 会识别该注解并处理请求映射(如@RequestMapping)。
  3. @Configuration:同样继承自@Component,专门标注配置类,类中可通过@Bean注解定义第三方组件或复杂逻辑的 Bean;Spring 对@Configuration类会做CGLIB 动态代理,确保@Bean方法调用时返回单例 Bean,而普通@Component类的@Bean方法则不会有此代理增强。

@Bean和@Component等

  1. @Component标注的类本身是单例 Bean(默认作用域singleton),类中用@Bean定义的方法,生成的 Bean 作用域默认也是singleton。
  2. 不管是在@Component还是@Controller、@Configuration这类派生注解类中,@Bean的默认作用域都是单例,只有添加@Scope("prototype")注解,才能将对应的 Bean 设置为多例。
  3. 唯一的区别是@Configuration类会被 CGLIB 代理,保证内部@Bean方法互相调用时返回单例;而@Component及派生类不会被代理,内部@Bean方法直接调用会生成新实例,但容器中管理的该 Bean 仍然是单例。
http://www.cnnetsun.cn/news/163315.html

相关文章:

  • 7、跨平台办公软件与文件处理全解析
  • Langchain-Chatchat IFRS9准则应用知识查询平台
  • 搜维尔科技:隆重推出DEX-EE灵巧手,市场上最坚固、最灵巧的机器人手
  • 9大高级RAG技术详解:提升大模型检索效果的实战指南
  • Langchain-Chatchat移动设备安全管理知识库
  • Langchain-Chatchat JWT令牌机制知识库构建
  • Langchain-Chatchat文件共享权限管理问答系统
  • Langchain-Chatchat IOC指标查询问答工具
  • Langchain-Chatchat渗透测试报告生成辅助工具
  • 50、多线程编程:任务控制与并行迭代
  • 51、多线程编程全解析
  • ML Workspace终极指南:5分钟搭建专业级机器学习环境
  • Langchain-Chatchat DevOps运维知识整合实践
  • Jetpack Compose响应式布局实战:构建自适应多屏Android应用
  • 端侧AI部署技术深度解析:从架构原理到行业实战
  • 30、构建安全、高效的企业级Web农场与数据仓库
  • Langchain-Chatchat数据安全法解读知识检索工具
  • React-Move 动画库终极指南:从入门到精通的完整实践手册
  • xPack OpenOCD 安装配置完全指南:快速搭建嵌入式调试环境
  • Langchain-Chatchat嵌入模型本地化部署要点
  • Proton-GE Wayland完全指南:解锁原生Linux游戏体验
  • Zed编辑器插件生态:完整指南与开发实战
  • CppMicroServices 终极指南:5步掌握C++模块化开发
  • SVG转Canvas渲染引擎终极指南:从零到精通的完整教程
  • Browser-Use Web-UI完全指南:让AI智能体在浏览器中自主工作的终极方案
  • Langchain-Chatchat科研辅助系统构建:论文资料智能问答平台
  • FastAPI蓝绿部署实战指南:实现零停机更新
  • Langchain-Chatchat能否支持视频文档解析?多媒体处理展望
  • 如何在3天内用TFLearn构建医疗AI预测模型:完整指南
  • 【第1章·第8节】自适应MPC控制器的simulink建模与仿真