Jah*_*rov -1 java spring autowired spring-restcontroller
当我将新的 @RequestMapping 方法添加到控制器时,@Autowired 突然停止工作。为什么我不明白。当我尝试使用这个新方法时,所有 @Autowired 接口都变为空。当我将其他 @RequestMapping 用于其他方法时,一切正常。
当我尝试使用新的@RequestMapping 时,第一张图片显示所有@Autowired 类为空。
这我使用其他@RequestMapping 都可以完美运行。这是 spring Rest Api 应用程序。我以前没有遇到过这些事情。什么可能是这样的应用程序。
Spring 通过以下方式创建您的控制器:
@Autowired依赖@PreAuthorizeor @Transactional,然后将调用委托给真实实例。由于 Spring 使用的代理库 (CGLIB) 的性质,通常也是 Java 语言本身。只允许覆盖public方法。在查看您的示例时,这是有道理的。
您失败的方法用@PreAuthorizeand.... it is 注释private,意思是:它是在代理上调用的,并且代理没有注入的依赖项,因为通常它会委托给真实的实例。但是因为是private方法,cglib和java做不到。
顺便说一句:查看屏幕截图时,您可以看到
this两个调用中的变量不同。
| 归档时间: |
|
| 查看次数: |
60 次 |
| 最近记录: |