https://www.cnblogs.com/xiaoxing/p/5836835.html
spring最重要的就是IOC(反转控制Inversion of Control)和AOP(面向切面编程Aspect Oriented Programming),DI(依赖注入Dependency injection)
IOC反转就是我们可以通过容器(比如spring)来自动为我们生成DAO的实现类。这样就能够真正实现反转控制了。由此,我们可以在随时更换数据库的情况下,进行数据迁移,而不需要进行修改任何代码。