Spring中常用的注解

@Component

可以使用此注解描述Spring中的Bean,但它是一个泛化的概念,仅仅标识一个组件(Bean),并且可以作用在任何层次,使用时只需要将该标注在相应类上即可

@Repository

用于将数据访问层(DAO层)的类标识为Spring中的Bean,其功能与@Component

@Service

通常作用在业务层(Service层)用于将业务层的类标识为Spring中的Bean,其功能与@Component相同

@Controller

通常作用在控制层,用于将控制层的类标识为Spring中的Bean,其功能和@Component相同

@Autowired

用于对Bean的属性变量/属性的setter方法及构造方法进行标注,配合对应的注解处理器完成Bean的自动配置工作,默认按照Bean的类型进行装配

@Resource

其作用于@Autowired一样,其区别在于@Autowired默认按照Bean类型装配,而@Resource默认按照Bean实例名称进行装配,@Resource中有两个重要属性:

  1. type: 属性解析为Bean类型
  2. name: 属性解析为Bean的实例名称

注意:如果指定name属性,name则会按照实例名称进行装配,如果指定type属性,则按Bean类型进行装配,如果都不指定,则先按Bean实例名称进行装配,如果不能匹配再按照Bean类型进行装配,如果无法匹配则抛出一个异常!

@Qualifier

@Autowired注解配合使用,会将默认的按Bean类型装配修改为按Bean的实例名称进行装配,Bean的实例名称由@Qualifier注解的参数指定


本文版权归属:极束の梦想

转载文章时,请保留本文的版权内容。

作者:Seale

同时也欢迎各位大大交换友链。


本作品采用知识共享署名 4.0 国际许可协议进行许可。

如果可以的话,请给我钱请给我点赞赏,小小心意即可!

Last modification:March 16, 2019
If you think my article is useful to you, please feel free to appreciate