当我还是个应届生的时候为了面试我就知道Spring的特性,知道Spring有IOC和DI特性,也仅仅只是面试的时候提一下。了解一个框架的特性,能够帮助我们在日常开发中更加顺畅的开发,遇到问题的时候能够更加迅捷的定位问题。
IOC
IOC即控制反转,它是Spring框架的特性。
通常我们想要调用某个对象的方法,需要先实例化这个对象,然后使用该对象去调用其方法,不可避免的将实例化对象和调用方法这两种操作耦合了,这种是普通的主动实例化方式。
但是Spring框架它通过Bean工厂集中将所需的对象进行实例化,然后再通过注解的方式(@Autowired)在Spring框架初始化的时候将对象注入到各个类种,这种操作就将对象的创建和引用分开了。不是由类自己去实例化对象,而是由框架实例化对象,然后由框架来将实例注入进来,实现了解耦的效果。
DI
DI即依赖注入,它也是Srping框架的特性。
IOC中提到的@Autowired就是依赖注入的方式,Spring框架中通过该注解标识需要通过Spring容器来注入到类实例中的SpringBean,这样Spring框架在初始化的才会注入对应的SpringBean。