Nếu bạn đã làn việc với java trong một thơi gian dài , có lẽ bạn sẽ thấy những framework cái khóa bạn vào vvieecj mở rộng một trong những classes hoặc implement một trong những inteface của chúng . Mộ ví dụ cho mô hình lập trình xâm hai (invasive programming model) là EJB 2-erea stateless session beans. Nhưng ngay cả khi EJBs là một ví dụ rễ thấy thì lập trình xâm lấn vẫn có thể thấy rễ dàng ở những phiên bản của Struts , webwork , Tapestry và cô số những framework khác
Spring tránh nhiều nhất có thể làm lộn xộn code của bạn với những API của nó. Spring hầu như không bao giờ ép bạn phải implement một interface hoặc extend một class nào. Thay vào đó nhứng class trong ứng dụng trên nền Spring thường không có dấu hiệu nào là chúng được sử dụng bởi spring. Tồi tệ nhất một class có được ghi nhãn bởi một trong những anotation(nhãn) của spring.
Để minh họa , xem xét HellowouldBean class :

Như bạn thấy. nó đơn giản. Không có gì đặt biệt về nó hiển thị cái là một thành phần của spring. Mô hình lập trình không xâm hại của spring nghĩa là class đó có thể thực thi các chức năng trong ứng dụng spring y như nó không được viết trong spring
Mặc dù hình thức đơn giản nhưng POJOs có thể rất hữu dụng. Một trong những cách sử dụng sức mạnh của POJO là nhúng chúng vào DI. Hãy xem DI có thể những đối tượng tách rời khỏi nhau thế nào.