Spring中@Component和@Configuration究竟有何本质区别?

2026-04-01 06:360阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计502个文字,预计阅读时间需要3分钟。

Spring中@Component和@Configuration究竟有何本质区别?

使用Spring的@ComponentScan注解可以扫描到@Configuration和@Component的类,并将其交由Spring容器管理,默认会放入单例池中。以下是一个BeanConfig类的测试结果:@Configur

正文

首先我们都知道使用Spring的@ComponentScan注解可以扫描到@Configuration和@Component的类,并将其交由Spring容器管理,默认会放入单例池中。
新建了一个BeanConfig类用来测试结果:

@Configuration
public class BeanConfig {
}
复制代码

通过上下文获取IOC容器中的BeanConfig,发现确实是被CGLIB进行了代理。

Spring中@Component和@Configuration究竟有何本质区别?

执行查看上下文中beanFactory的单例池中确实存在。

将BeanConfig类的@Configuration注解改为@Component后再看一下则显示没有被CGLIB代理。

阅读全文

本文共计502个文字,预计阅读时间需要3分钟。

Spring中@Component和@Configuration究竟有何本质区别?

使用Spring的@ComponentScan注解可以扫描到@Configuration和@Component的类,并将其交由Spring容器管理,默认会放入单例池中。以下是一个BeanConfig类的测试结果:@Configur

正文

首先我们都知道使用Spring的@ComponentScan注解可以扫描到@Configuration和@Component的类,并将其交由Spring容器管理,默认会放入单例池中。
新建了一个BeanConfig类用来测试结果:

@Configuration
public class BeanConfig {
}
复制代码

通过上下文获取IOC容器中的BeanConfig,发现确实是被CGLIB进行了代理。

Spring中@Component和@Configuration究竟有何本质区别?

执行查看上下文中beanFactory的单例池中确实存在。

将BeanConfig类的@Configuration注解改为@Component后再看一下则显示没有被CGLIB代理。

阅读全文