Spring注解

瘦欲@ 提交于 2020-03-02 07:47:48

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都是单例的
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!