Spring类注解和方法注解注解

102 阅读1分钟

五大类注解

  • @Controller [控制器]

  • @Service [服务]

  • @Repoistry [仓库]

  • @Configuration [配置]

  • @Component [组件]

    只可以加在类上。五大类注解加在适合的位置,可以提高代码的可读性,能够直观判断当前类的用途。

五大类注解的关系

configration.png

controller.png

Repository.png

Service.png

通过阅读源码,我们可以看到,@Controller,@Service,@Repoistry,@Configuration都是基于@Component实现的,所以可以认为@Component是其他四个注解的父类

spring使用五大类注解生成 beanName:

采用简单的类名并将其初始字符转换为小写。但在特殊情况下,当第一个和第二个字符都是大写的时候,保留原始的形式。spring使用的就是在java.beans.Introspector类中的decapitalize方法实现的。

name.png

@Bean 方法注解

方法注解只可以加在方法上,将对象存储到容器。

Bean.png

@Bean 重命名

123.png

@Bean 命名规则:当没有设置name属性时,bean 默认的名称就是方法名,设置 name 属性后,只能通过重命名的 name 属性对应的值来获取,也就说重命名后,在使用方法名获取不到 bean 对象。