Spring支持多种类型的注释,例如@ Component,@ Controller,@ service @Repository和@Bean。所有这些都可以在org.springframework.stereotype包下找到。
当我们的应用程序中的类使用上述任何注释进行注释时,则在项目启动时进行spring扫描(使用@componentScan),然后将每个类注入到IOC容器中。@ComponentScan要做的另一件事是运行带有@Bean的方法,并将返回对象作为Bean恢复到Ioc容器。
序号 | 键 | @豆角,扁豆 | @零件 |
---|---|---|---|
1 | 自动侦测 | 它用于显式声明单个bean,而不是让Spring自动执行。 | 如果有任何用@Component注释的类,它将使用类路径扫描自动检测到。 |
2 | 弹簧容器 | 即使类在弹簧容器之外也可以创建Bean | 如果类不在spring容器之外,则无法创建bean |
3 | 类/方法级别注释 | 它是方法级别的注释 | 这是一个类级别的注释 |
4 | @组态 | 仅当类也用@Configuration注释时,它才有效 | 它无需 @Configuration注释即可工作 |
5 | 用例 | 如果您想要基于动态条件的特定实现,则应使用@bean。 | 我们不能根据动态条件编写特定的实现 |
@Component public class Pizza{ ........ }
@Configuration class AppConfiguration{ @Bean public User getUse(){ return new User(); } }