
@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Transactional @Service(value = "AAA") public @interface TransactionalService { } @TransactionalService public class AService { public void save(){ System.out.println("save"); } } 环境:
spring-boot 2.7.6
我自定义了一个注解,然后 @Service(value = "AAA"),接下来使用这个注解, 但是这个 AService 对象的名称是 AService,而不是 AAA
这是哪里有问题?
1 Bromine0x23 2022-12-26 14:08:58 +08:00 value 没法这样设置,要在自定义注解上添加一个 value 属性,然后用 @AliasFor 标注 |
2 running17 2022-12-26 14:20:40 +08:00 |
3 urnoob 2022-12-26 15:27:50 +08:00 其实我有个问题 op 和 2l 这种做法有什么场景场景要用的 ? 就为了省一个注解? |
4 xwayway 2022-12-26 17:10:26 +08:00 @urnoob #3 我觉得你说得对,自定义注解应该是对功能的增强,而不是对细节的隐藏,而且这样给了 service 一个 default 值的话,总觉得有点隐患 |
5 sulinwork 2022-12-26 17:12:50 +08:00 我这样写是生效的 不知道为啥楼主不行 |
6 sulinwork 2022-12-26 17:17:04 +08:00 |
8 Bromine0x23 2022-12-26 18:05:14 +08:00 |