1. @Component
通知Spring为这个类创建bean。通过组件扫描实现,组件扫描默认不启动。
e.g. @Component(“testName”) 为当前bean指定名称。不指定则默认为类名的首字母小写
2. @ComponentScan
通知Spring扫描组件,默认扫描与当前类相同的包。
- 可指定basePackages属性,指定包名
- 可指定basePackageClasses属性,指定类
3. @SpringJUnit4ClassRunner
在测试开始的时候自动创建Spring的应用上下文
4. @ContextConfiguration
通知Spring在当前类中加载配置。e.g. @ContextConfiguration(class=OneConfigClass.class)
5. @Named
@Component的替代方案。大多数场景中可以互相替换
6. @Autowired
自动装配
可以将属性required设置为false,否则匹配不到bean时会抛出异常,需要进行null检查
- 为变量赋值
@Autowired
Person person; - 为方法赋值
@Autowired
public goToSchool(Person person)
7. @Inject
自动装配,大多数场景下与autowired可以互相替换
8. @Configuration
创建配置类
9. @Bean
- 可以给方法添加@Bean注解,这个注解会告诉Spring:这个方法会返回一个对象,该对象要注册为Spring应用上下文中的bean。
- 默认情况下,bean的ID与带有@Bean注解的方法名一致。可以通过设置name属性来手动重命名。
- 对于添加了@Bean注解的方法,Spring会拦截所有对它的调用,并确保直接返回已经创建好的bean,而不是每次调用都执行这个方法。
- 默认情况下,Spring中的bean都是单例的
来源:CSDN
作者:不道
链接:https://blog.csdn.net/huanshen7428/article/details/104596573