2004年 spring 1.0 发布,只能通过配置文件启动,1.2 版本支持了 @Transactional 注解 2006年 sprint 2.0 发布,只能通过配置文件启动,支持了 component-scan 标签 2.0 版本支持的注解如下: @Component @Repository @AspectJ @Required 2.5版本支持的注解如下: @Component @Controller @Service @RequestMapping @Qualifier @Autowired
2009年 sprint 3.0 发布 3.0 版本支持的注解如下: @Configuration @Import(导入第三方配置类,和标签作用相同) @ImportResource 3.1 版本支持的注解如下: @ComponentScan(可以完全进入配置类时代) @Enable***(本质就是结合 @Import 来实现的)
2013年 sprint 4.0 发布 4.0 版本支持的注解如下: @Conditional @EventListener
2017年 sprint 5.0 发布 5.0 版本支持的注解如下: @Indexed(解决 @ComponentScan 检索效率,编译阶段就进行加载)
一个类实现了 ImportSelector 接口 或者 实现了 ImportBeanDefinitionRegistrar 接口,实现了对应的方法,可以注入指定的 bean 到容器中