The Spring framework itself has four principles:
1). Use POJOs for lightweight and minimally invasive development
2). Loose coupling is achieved through injection and interface-based programming
3). Declarative programming through AOP and default habits
4). Use AOP and templates to reduce patterned code