依赖注入 1.依赖于抽象而不是具体实现 2.注入体现控制反转,使用者只负责使用,不负责创建,而应该又调用者创建(反转在出现业务变化时只需要在注入的地方修改) 3.当依赖过多时,容器就诞生了,容器主要两方面作用:构建实例之间的依赖关系;创建和销毁实例并管理生命周期