Why is declarative transaction management preferred in Spring?

Declarative transaction management has minimum impact on the application code and, therefore, is an idealistic lightweight container.