【Spring】@Component和@Bean注解的区别?JavaBean、Spring Bean、对象三者是同一个东西吗?

内容有参考,但当时没有写博客的意识,也找不到出处了,仅作为学习笔记免费分享

JavaBean、Spring Bean、对象三者区别

对象是面向对象编程中的一个概念,而JavaBean正是对这一概念的具体实现,也是一种规范。Spring Bean是Spring容器中的概念,简单理解为是被Spring容器所管理的对象。

@Component和@Bean注解的区别

  1. 用途不同:@Component表示在类上面,表明该类被Spring容器管理;@Bean使用在配置类中,在方法上声明该方法返回的对象由Spring容器管理。
  2. 使用方式不同:@Component是类级别注解,Spring通过@ComponentScan去扫描并注册到IOC容器中;@Bean是方法级注解,在配置类中手动声明和配置Bean。
  3. 控制权不同:@Component注解由Spring容器自动创建并初始化;@Bean允许开发人员手动控制创建和配置过程。

以下是两者是使用场景,区别还是很明显的:

@Component
public class MyBean{}

@Configuration
public class MyConfiguration{
	@Bean
	public MyBean buildMyBeanService(){
		// 初始化
		MyBean bean = new MyBean();
		// 配置逻辑...
		return bean;
	}
}
  • 17
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值