Spring uses proxies to handle cross-cutting concerns.
Spring uses dynamic proxies to implement cross-cutting concerns like transactions. Proxies wrap the target object and intercept method calls. For example, when a service method is annotated with @Transactional, the proxy manages transaction boundaries.