@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 1
|
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
|