如何在SpringBoot环境下使得自定义的注解能够使用${xxx}表达式
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,如何在SpringBoot环境下使得自定义的注解能够使用${xxx}表达式,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
千家信息网最后更新 2026年11月03日如何在SpringBoot环境下使得自定义的注解能够使用${xxx}表达式
如何在SpringBoot环境下使得自定义的注解能够使用${xxx}表达式,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
相关依赖
org.aspectj aspectjrt org.aspectj aspectjweaver runtime
自定义注解
@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) @Documented public @interface Manufactur { String value() default "" ; // 厂商编号 }AOP
需要AOP在方法执行器对方法上的注解进行解析处理,获取占位符对应的值
@Component @Aspect public class ManufacturAspect implements EnvironmentAware { private static final Logger logger = LoggerFactory.getLogger(ManufacturAspect.class) ; private Environment environment; @Pointcut("@annotation(com.pack.annotation.Manufactur)") private void info() {} @Before("info()") public void execBefore(JoinPoint jp) { MethodSignature sign = (MethodSignature) jp.getSignature() ; Method method = sign.getMethod() ; Manufactur manu = method.getAnnotation(Manufactur.class) ; String value = manu.value() ; logger.info("获取到注解值:{}", value) ; BusinessService.code.set(this.environment.resolvePlaceholders(value)) ; } @Override public void setEnvironment(Environment environment) { this.environment = environment ; } }该类实现了EnvironmentAware 用于获取Environment对象,该对象能够获取当前环境下的所有相关配置信息。同时通过该类的resolvePlaceholders方法能够解析占位符对应的内容值。
Service中使用
@Service public class BusinessService { public static ThreadLocal code = new ThreadLocal() ; private static Logger logger = LoggerFactory.getLogger(BusinessService.class) ; @Manufactur("${manufactur.code}-#{1 + 3}") public String invoke(String id) { String sno = code.get() ; logger.info("自定义注解动态获取属性值:{}", sno) ; // todo return sno ; } } 在AOP中将解析后的值已经存入到了ThreadLocal中。
测试
@RestController @RequestMapping("/business") public class BusinessController { @Resource private BusinessService bs ; @GetMapping("/{id}") public Object home(@PathVariable String id) { return bs.invoke(id) ; } }到此一个自定义注解中支持占位符就完成了,还是非常简单的。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
注解
环境
内容
对象
方法
帮助
支持
表达式
清楚
中将
信息
动态
厂商
同时
对方
对此
属性
文章
新手
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技
上海挚品互联网科技有限公司
互联网科技工作委员会主任
互联网和科技技术
互联网科技深圳
易互联网科技有限公司
高科技与互联网
互联网金融公司科技
北京互联网络科技有限公司
深圳天众互联网科技公司
天下捷融互联网科技
互联网科技公司有哪些
深圳期待互联网科技
互联网科技公司做什么
科技赋能互联网健康
宁夏众和广鑫互联网科技有限公司
互联网对科技的发展
有人说阿里系是互联网科技企业
互联网硬科技公司
珠海东科互联网科技有限公司
互联网新科技
居家互联网科技有限公司
深圳卡尔迅互联网科技有限公司怎么样
天速互联网络科技有限公司
来此购互联网科技有限公司
湖南一路畅行互联网科技
互联网科技创新的路径
南通创西澳互联网科技有限公司
现代科技的标志之一的互联网
山东亿川互联网科技有限责任公司