Вам необходимо сконфигурировать bean-объект области действия запроса
@Configuration
public class MyConfig {
@Bean
@RequestScope
public String myRequestScopedIdentifyer(NativeWebRequest httpRequest) {
// You don't need request as parameter here, but you can inject it this way if you need request context
return String.join(
"-",
"KEY",
UUID.randomUUID().toString());
}
, а затем внедрить его, где необходимо, с помощью инжекции поля
@Component
public class MyClass {
@Autowired
@Qualifier("myRequestScopedIdentifyer")
private String identifier
или фабрики объектов
@Component
public class MyClass {
public MyClass(@Qualifier("myRequestScopedIdentifyer") ObjectFactory<String> identifyerProvider) {
this.identifyerProvider= identifyerProvider;
}
private final ObjectFactory<String> identifyerProvider;
public void someMethod() {
String requestScopedId = identifyerProvider.getObject();
}