IOC的实现有四种方式,
1、一种是服务定位也就是依赖查找,调用容器的 bean 查找接口查找bean实例,缺点,有侵入性,性能低。 2、一种是依赖注入,也就是 DI,注入有4种方式,构造器注入,属性注入,Setter注入,接口注入。性能高,侵入小。 3、上下文依赖查询 4、模板方法设计模式,JdbcTemplate的使用,不需要关心具体callback来源
依赖处理:查找是主动获取数据,相当于拉的方式。注入则是由容器环境环境被动的推送到我这里来。
依赖查找的应用是实现ApplicationContextAware获取ApplicationContext来查找自己想要的bean对象也就是JNDI
比如说通过 beanFactory 或者 context的getBean() 方法是依赖查找,通过@Autowired @Resource是依赖注入。