深圳建设网站的公司哪家好,湖南省建设资源人才网站,手机app下载大全,浏览器正能量网站免费软件简单介绍#xff1a;
首先我们要知道#xff0c;依赖注入就是赋值#xff0c;带着这句话去理解依赖注入就非常的简单了#xff0c;将文中所有的依赖注入全部脑部替换成给属性赋值#xff0c;再去理解依赖注入的概念。
依赖注入#xff08;DI#xff09;是指IoC容器在运…简单介绍
首先我们要知道依赖注入就是赋值带着这句话去理解依赖注入就非常的简单了将文中所有的依赖注入全部脑部替换成给属性赋值再去理解依赖注入的概念。
依赖注入DI是指IoC容器在运行期间动态地将某种依赖资源注入到对象中。依赖注入地基本思想是明确地定义组件接口独立开发各个组件然后根据组件地依赖关系组装运行。
依赖注入DI和控制反转IoC是从不同角度来描述了同一件事情。依赖注入是从应用程序地角度描述而控制反转是从IoC容器角度描述。
使用方法
依赖注入有两种类型一种是构造方法地方式一种是使用setter地方式。这两种方式其实就是对应了给属性赋值地两种方式那么我们就针对这两种方式去详细地介绍一下这两种方式地区别和使用方式。
代码实现
构造方法地方式constructor-arg
我们继续打开之前我们创建的项目这个项目估计我们要用很长时间所以一定要保留好。然后我们修改一下Spring的Bean管理XML配置文件 使用构造方法的方式创建对象使用的标签就是使用constructor-age标签name属性是要复制的属性值value属性是用来给基本数据类型赋值ref用来给引用数据类型赋值为了验证这个方法确实是使用了构造方法的方式进行依赖注入我们在构造方法里输出一句话 如果我们在创建对象的时候输出了这句话那么就可以说明确实是试用了构造方法的方式创建了对象接下来我们就来到测试类进行测试。 很好确实跟我们之前想的一样输出了我们在构造方法里的输出语句并且也创建出了我们的对象。
使用setter地方式property
使用setter的方式创建对象和我们之前演示的效果是一样的只不过把constructor-age标签换成了property标签 同样的我们在setter方法里写入一句话如果这句话被输出了那么就说明我们是使用setter方法进行依赖注入 然后我们进入测试类进行测试 很合理跟我们之前说的一样确实是输出了我们在setter方法里输出的语句使用setter进行依赖注入是比较流行的方式这种方式更直观的看出我们的属性和值的对应关系。
关于使用setter方式进行依赖注入的时候的name的值
在使用setter的方式进行依赖注入的时候我们name属性对应的值并不是属性值而是setter方法去掉关键字之后并将第一个字母变成小写之后的值也就是说对应的其实是setter的方法名只不过我们自动生成的标准的setter方法是使用set关键字和属性名组合的方式所以如果是使用标准的方法生成的setter方法其实这个地方就可以写属性名但是我们要知道这个地方的本质是什么。
注意点
其实说白了依赖注入就是给对象类的属性赋值的方式在之后我们还会学习基于注解的开发方式无论到了什么时候Spring的依赖注入的含义都相当于是赋值只不过这个赋值的动作是在程序运行中由Spring去管理动态得进行赋值而不需要我们去管理。