1.对于IOC的例子,可以看我的数据库的例子

https://www.cnblogs.com/cckong/p/14350451.html

2.对于上面的例子,我们可以使用静态工厂进行优化。

【Spring】IoC源码分析以及实现_Spring

 

 当我们想更改数据库实例的时候,可以直接更改dao层,对于sercice和controller来说是无关的了。

【Spring】IoC源码分析以及实现_Spring_02

3.如何不改变程序代码 更改实例?