3 回答
TA贡献1852条经验 获得超1个赞
我不确定你为什么真的需要这个。Pathvariable 在 REST 调用期间在外部设置。在启动阶段,您没有此路径变量,这意味着您无法从中解决任何问题。
为了更好地了解您要实现的目标以及它为什么不起作用,我建议您阅读这篇简短的 stackoverflow 文章:Spring BeanPostProcessor 究竟是如何工作的?
如果您有静态标识符,我宁愿使用 ConfigurationProperties。
您能否提供更多有关您要通过此实现的目标的信息?我个人会尽量避免使用全局变量。
TA贡献1801条经验 获得超16个赞
在从 BaseController 执行任何方法之前,您可以使用 AOP 和 @Aspect 来运行一段代码。
请查看以了解如何实现它。 https://dzone.com/articles/aspect-orienting-programming-with-springboot
TA贡献1772条经验 获得超6个赞
我不会使用@Value Annotation,因为您将整个配置逻辑分布在整个系统中。@ConfigurationProperties(请参阅此处:https ://www.baeldung.com/configuration-properties-in-spring-boot )将成为您的朋友。您也可以使用其他对象类型以及顶部的验证。
关于单元测试中的@Before:@PostConstruct 在构造 bean 本身之后调用,而不是在方法调用之前。如果您想在方法调用之前做一些事情,ArgumentResolver 或使用 Spring AOP 的 Aspect 将是您的朋友,我宁愿使用 ArgumentResolver 并在后台管理所有内容。再一次,我怀疑您是否真的做了正确的设计,因为 @Pathvariable 应该由 API 用户提供,而不是来自配置。
添加回答
举报