不知道大家每次使用Spring boot的时候有没有看过它启动类里
@SpringBootApplication这个注解呢?众所周知,这个注解是一个复合注解,但是注解是不能继承元注解的属性的,也就是说,我在类扫描的时候,拿到的注解的属性值,依然是元注解的属性值,而不是你定义的注解的属性值
那么它是怎么做到使用别的注解的属性的呢?玄机就在这个
@AliasFor注解上,它可以指定某个元注解里的属性,并将其重新命名.这样我们可以自由的将Spring里各个注解再进行一遍封装,下面给大家看个Demo,
像这样封装下我们的注解既有了@Service的作用也有了事务注解的作用,因为事务注解的value不需要指定,所以将别名指定为@Service的value
最搞笑的是@Service注解也是用的@Compont的value属性
最后像这样使用就行了,提醒下,如果是Spring boot的话一定要在启动类上标上
@EnableTransactionManagement注解这样才可以启用注解事务哦