最近学习了springIOC的相关内容,下面说说我对它的理解
IOC,即控制反转,是将传统由用户新建对象的方式改变,转而由spring提供的容器来自动新建对象。其中这些新建对象的规则被放在spring的配置文件中,即spring-*.xml中。
在这里首先声明一点,spring中的所有类都被称之为Bean。
这些类(即Bean)的最常用新建方式称之为依赖注入。而依赖注入有两种方式,一种是设值注入,一种是构造器注入
设值注入
即在后台相应的实现类中添加set方法,并通过在spring配置文件中添加相应的Bean标签和属性标签,(如果Bean中有属性为接口引用,则指定属性所引用的实现类),告诉程序当扫描spring配置文件进行构造器注入时,新建一些类和相应的类并由引用指向它。其中属性 标签为<property></property>
构造器注入
即在后台相应的实现类中添加带参构造方法进行初始化,并通过在spring配置文件中添加相应的Bean标签和属性标签,<constructor-arg></constructor-arg>(如果Bean中有属性为接口引用,则指定属性所引用的实现类),告诉程序当扫描spring配置文件进行构造器注入时,新建一些类和相应的类并由引用指向它
好处: 使用IOC后整个程序架构完全为面向接口编程,程序员在后台开发时不需要new出每层接口的实现类,而只需要操作其引用,把new接口的实现类交给了springIOC处理。增加了程序的易维护性和可扩展性。