`@PostConstruct` runs after the bean is created and dependencies are injected. `@PreDestroy` runs when the application context is shutting down (for beans it manages, typically singletons). A common gotcha: Spring doesn’t automatically call destroy callbacks for prototype-scoped beans.