五大类注解
-
@Controller [控制器]
-
@Service [服务]
-
@Repoistry [仓库]
-
@Configuration [配置]
-
@Component [组件]
只可以加在类上。五大类注解加在适合的位置,可以提高代码的可读性,能够直观判断当前类的用途。
五大类注解的关系
通过阅读源码,我们可以看到,@Controller,@Service,@Repoistry,@Configuration都是基于@Component实现的,所以可以认为@Component是其他四个注解的父类
spring使用五大类注解生成 beanName:
采用简单的类名并将其初始字符转换为小写。但在特殊情况下,当第一个和第二个字符都是大写的时候,保留原始的形式。spring使用的就是在java.beans.Introspector类中的decapitalize方法实现的。
@Bean 方法注解
方法注解只可以加在方法上,将对象存储到容器。
@Bean 重命名
@Bean 命名规则:当没有设置name属性时,bean 默认的名称就是方法名,设置 name 属性后,只能通过重命名的 name 属性对应的值来获取,也就说重命名后,在使用方法名获取不到 bean 对象。