java将自定义对象传递到Spring引导控制器
我目前正在用Java编写Spring Boot REST API
我有一个切入点如下:
public static void main(String[] args) {
// Starting Spring application
ConfigurableApplicationContext context = SpringApplication.run(Monolith.class, args);
}
它成功地创建了控制器
然而,我现在有一个RedisCache
对象,我希望将其传递给这些控制器。这个RedisCache
对象需要在ConfigurableApplicationContext
之前手动实例化(使用正确的用户名、密码、地址、端口和超时),我不确定如何正确地将这个缓存注入控制器
# 1 楼答案
您应该实现拦截器,并使用预句柄将其注入ThreadContext
更多信息: https://www.tutorialspoint.com/spring_boot/spring_boot_interceptor.htm
谢谢
# 2 楼答案
我可以通过创建这样的配置类来解决这个问题:
工厂看起来像:
并通过在控制器中自动连接构造函数来注入资源:
除非这种方法存在根本性的问题,否则它似乎是我的最佳解决方案