Как вы можете видеть в документации @RequestScope
режим прокси:
ScopedProxyMode proxyMode() default ScopedProxyMode.TARGET_CLASS;
, который создает
прокси на основе классов (использует CGLIB ).
с помощью CGLIB Spring сможет создать прокси, класс которого является подклассом класса цели.
Для @Scope("request")
, для документации прокси режим:
ScopedProxyMode proxyMode() default ScopedProxyMode.DEFAULT;
, что означает
/**
* Default typically equals {@link #NO}, unless a different default
* has been configured at the component-scan instruction level.
*/
DEFAULT,
/**
* Do not create a scoped proxy.
* <p>This proxy-mode is not typically useful when used with a
* non-singleton scoped instance, which should favor the use of the
* {@link #INTERFACES} or {@link #TARGET_CLASS} proxy-modes instead if it
* is to be used as a dependency.
*/
NO,
Это причина, почему он работает с @Scope("request")
, а не с @RequestScope