How can user-defined annotations arbitrarily take some properties of the first few parameters instead of specifying some strings. For example: @ cacheable can use #p0 to represent the first parameter, and can #p0.* Value.
@Cacheable(value = "aaaa",key = "#p0.id +'::'+#p0.name")
public UserVoEntity getUserByRedisTimeObject(UserVoEntity vo) {
return vo;
}
How can my custom annotations achieve this