How do you know if it works or not? What is your desired behavior?
As Spring creates a proxy for request-scope beans and inject them into other beans. So the bean will be created just once, and its PostConstruct will be called just once, and PreDestroy probably never (except shutting down the application).
If you need a method be called on every single request, you can write an event handler handling org.springframework.web.context.support.RequestHandledEvent
, this handler will be executed after each request have been handled. I am not aware of any event being published before handling a request.
Other solution is having a org.springframework.web.servlet.HandlerInterceptor
and then configure it to be executed on all requests (this way you can do anything you want before and after request-handling).