1. 开篇
从spring2开始,为了响应JDK1.5推出的注解功能,spring开始大量加入注解来替代xml配置。spring的注解主要用来配置注入Bean,切面相关配置(@Transactional)。随着注解的大量使用,尤其相同的多个注解用到各个类中,会相当啰嗦。这就是所谓的模板代码,是spring设计原则中要消除的代码。
所谓元注解其实就是可以注解到别的注解上的注解,被注解的注解称之为组合注解(是可能有点拗口,体会含义最重要),组合注解具备元注解的功能。spring的很多注解都可以作为元注解,而且spring本身已经有很多组合注解,如@Configuration就是一个组合@Component注解,表明这个类其实也是一个Bean。
之前的文章中大量使用的@Configuration和@ComponentScan注解到配置类上,下面我们将这两个元注解组成一个组合注解,这样我们只需要写一个注解就可以表示两个注解。
2. 代码示例
a. 组合注解示例:
组合注解示例
解释:
i. 组合@Configuation元注解与@ComponentScan元注解
ii. 覆盖value参数
b. 服务Bean示例:
服务类示例
c. 配置类:
配置类
解释:
i. 使用新的组合注解代替@Configuration和@ComponentScan注解
d. 运行:
运行
e. 结果:
运行结果
想获取完整面试题及答案的同学请点赞、关注并转发。私信博主:“Java面试题”获取完整资料,更有超全spring、jvm、linux、docker等电子书相送。更有整理的200多页的面试重点知识点,非常全面,需要的私信。