Spring Bean 基于注解的装配

Posted 周逸航

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Bean 基于注解的装配相关的知识,希望对你有一定的参考价值。

基于注解的装配

在Spring框架中,尽管使用XML配置文件可以很简单地装配Bean,但如果应用中有大量的Bean需要装配,会导致XML配置文件过于庞大,不方便以后的升级与维护,因此更多的时候推荐开发者使用注解(annotation)的方式去装配Bean。

在Spring框架中定义了一系列的注解,下面介绍集中常用的注解。

  1. @Component
    该注解是一个泛化的概念,仅仅表示一个组件对象(Bean),可以作用在任何层次上。

  2. @Repository
    该注解用于将数据访问层(DAO)的类标识为Bean,即注解数据访问层Bean,其功能与@Component相同。

  3. @Service
    该注解用于标注一个业务逻辑组件类(Service层),其功能与@Component相同。

  4. @Controller
    该注解用于标注一个控制器组件类(Spring MVC的Controller),其功能与@Component相同。

  5. @Autowired
    该注解可以对类成员变量、方法及构造方法进行标注,完成自动装配的工作。通过使用@Autowired来消除setter和getter方法。默认按照Bean的类型进行装配。

  6. @Resource
    该注解与@Autowired的功能一样,区别在于该注解默认是按照名称来装配注入的,只有当找不到与名称匹配的Bean时才会按照类型来装配注入;而@Autowired默认按照Bean的类型进行装配,如果想按照名称来装配注入,则需要和@Qualifier注解一起使用。

  7. @Qualifier
    该注解与@Aitowired注解配合使用。当@Autowired注解需要按照名称来装配注入时需要和该注解一起使用,Bean的实例名称由@Qualifier注解的参数制定。

在上面几个注解中,虽然@Repository、@Service和@Controller等注解的功能与@Component注解相同,但为了使类的标注更加清晰(层次化),在实际开发中推荐使用@Repository标注数据访问层(DAO层)、使用@Service标注业务逻辑层(Service层)、使用@Controller标注控制器层(控制层)

以上是关于Spring Bean 基于注解的装配的主要内容,如果未能解决你的问题,请参考以下文章

Spring框架bean的配置:基于注解的配置,Autowired 自动装配 Bean,泛型依赖注入

Spring基础:Bean的装配

Spring bean依赖注入bean的装配及相关注解

Spring课程 Spring入门篇 4-6 Spring bean装配之基于java的容器注解说明--@ImportResource和@Value java与properties文件交互

Spring入门篇——第4章 Spring Bean装配(下)

Spring Bean的装配方式