Spring中Bean管理方式比较

本文记录Java学习过程中遇到的Spring中Bean的两种管理方式比较~

Bean定义

  • 基于XML配置:<bean id="" class=""/>;
  • 基于注解配置:@Component,衍生类:@Controller、@Service和@Repository。

Bean名称

  • 基于XML配置:指定id或name;
  • 基于注解配置:@Component("name")。

Bean注入

  • 基于XML配置:<property>或者通过p命名空间;
  • 基于注解配置:@Autowired按类型注入,@Qualifier按名称注入。

生命周期和作用范围

  • 基于XML配置:init-method、destroy-method和scope属性;
  • 基于注解配置:@PostConstruct初始化、@PreDestroy销毁和@Scope作用范围。

适合场景

  • 基于XML配置:Bean来自第三方;
  • 基于注解配置:Bean的实现类自己开发。

标签: none