Solon2 常用注解之 @Component 与 @Bean 的区别

news/2024/10/30 23:22:06/

@Component 与 @Bean 设计的目的是一样的,都是注册 Bean 到容器里。

1、@Component 注解

  • 及它的子类型 @Configuration,@Controller,@Remoting,@ProxyComponent 都是注解在类上的
  • 告诉 Solon,我是一个 Bean
  • 可能申明自己是不是单例
  • 通过类路径扫描自动检测并注入到容器中
  • 可以 @Inject 东西
  • 可以自动装配自己

其中 @Controller,@Remoting 类的函数会重新包装成 MethodWarp,支持代理效果。

其中 @ProxyComponent 有 ASM 或 APT 为其生成代理类,支持代理效果。

2、@Bean 注解

  • 不能注释在类上;只能用于在 @Configuration 类的函数上,中显式声明单个 Bean。
  • 意思就是,我要获取这个Bean的时候,框架要按照这种方式去获取这个Bean
  • 只是单例
  • 不可以 @Inject 东西
  • 要手动装配

在应用开发的过程中,如果想要将“第三方库”中的组件装配到应用容器中,是没有办法在它的类上添加 @Component 、@Inject 注解的,因此就不能使用自动化装配的方案了。

如果“第三方库”中的组件有 @Component 注解,但没有扫描到。可以使用 @Import 注解进行导入。


http://www.ppmy.cn/news/463977.html

相关文章

面试还不知道BeanFactory和ApplicationContext的区别?

前言 接口 BeanFactory 和 ApplicationContext 都是用来从容器中获取 Spring beans 的,但是,他们二者有很大不同。 什么是 Spring Bean 之前一篇文章: Spring Bean生命周期 中有详细说明。 通常来说,Spring beans 就是被 Spring…

孕期出轨的男人值不值得原谅

 晓芸跟老公结婚十多年,期间经历了几次习惯性流产,前些年的一次宫外孕大出血险些要了她的命,为了要个孩子,她做过三次试管婴儿,但最终都失败了。原本对于做妈妈这事已经不再抱什么幻想的她&am…

分手快乐---(哪个更好呢)

我无法帮你预言 为你祈祷有没有用 可是我多么不舍朋友过得那么痛苦 爱可以重新选择只要你过得幸福 如果他总是忘记未来 你何苦非把心放在他手中 好音乐让你满足想撑过你心口里的空 你却想有人了解藏在心底那最无助的通 你说你勇敢面对 未来的全新生活 这宴席已经散了 剩…

新房装修材料避坑分享

第一次装修怕被坑,雅静说选哪些品牌的材料才能避坑 1,水管选伟星,日丰,联塑,因为水管的核心是质保, 要选水管管件和人工焊接点,双重质保的 2,电线选正泰,德力西,公牛,熊猫,一定要选国际带有3C认证的 3,水泥选海螺,华润,中联,水泥一定要用新日期的,正常的用325,有条件的话用425 …

史上踩坑最多的SpringBoot整合Mybatis

自由不是你想做什么就能做什么,而是你不想做什么就可以不做什么。 目录 前言数据库部分整合部分一波三折数据库驱动再次配置映射文件再配数据源回溯章节 前言 关于如何搭建SpringBoot工程以及开启Web功能, 可以查看我的这篇博客:用Spring Ini…

跟父母还是要保持一定的距离感

背景 不知你有没有亲身经历过,或者见过身边的人正在经历下面这些场景: 自己交了男/女朋友,父母感觉不太好时劝分手结婚前,父母对另一半的询问或考验让对方难堪结婚后,父母经常帮忙处理家庭事务(打扫卫生&a…

死磕Spring系列:Bean实例化原理

本文将从源码的角度来分析SpringBean的创建过程 1. BeanDefinition 大家都知道,在Spring IOC启动时,会扫描类的信息,将相关信息封装为BeanDefinition存入到beanDefinitionMap中,后续用其中的描述信息来生成bean。 2. getBean 首…

不分手,好吗?

你提出分手,显得那么平静,不带一丝惋惜。  当你来到我的身旁,我发现,平静的你是如此的美丽!真的想抱住你,吻你……但我不能!  你知道吗,你的这份美丽让我凭添了许多痛苦&#xf…