JavaEE简单示例——依赖注入

梦想不抛弃苦心追求的人,只要不停止追求,你们会沐浴在梦想的光辉之中。再美好的梦想与目标,再完美的计划和方案,如果不能尽快在行动中落实,最终只能是纸上谈兵,空想一番。只要瞄准了大方向,坚持不懈地做下去,才能够扫除挡在梦想前面的障碍,实现美好的人生蓝图。JavaEE简单示例——依赖注入,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

简单介绍:

首先我们要知道,依赖注入就是赋值,带着这句话去理解依赖注入就非常的简单了,将文中所有的依赖注入全部脑部替换成给属性赋值,再去理解依赖注入的概念。

依赖注入(DI)是指IoC容器在运行期间动态地将某种依赖资源注入到对象中。依赖注入地基本思想是,明确地定义组件接口,独立开发各个组件,然后根据组件地依赖关系组装运行。

依赖注入(DI)和控制反转(IoC)是从不同角度来描述了同一件事情。依赖注入是从应用程序地角度描述,而控制反转是从IoC容器角度描述。

使用方法:

依赖注入有两种类型,一种是构造方法地方式,一种是使用setter地方式。这两种方式其实就是对应了给属性赋值地两种方式,那么我们就针对这两种方式去详细地介绍一下这两种方式地区别和使用方式。

代码实现:

构造方法地方式:<constructor-arg>

我们继续打开之前我们创建的项目,这个项目估计我们要用很长时间,所以一定要保留好。然后我们修改一下Spring的Bean管理XML配置文件:

JavaEE简单示例——依赖注入

使用构造方法的方式创建对象,使用的标签就是使用<constructor-age>标签,name属性是要复制的属性值,value属性是用来给基本数据类型赋值,ref用来给引用数据类型赋值,为了验证这个方法确实是使用了构造方法的方式进行依赖注入,我们在构造方法里输出一句话:

JavaEE简单示例——依赖注入 

如果我们在创建对象的时候输出了这句话,那么就可以说明确实是试用了构造方法的方式创建了对象,接下来,我们就来到测试类进行测试。

JavaEE简单示例——依赖注入

很好,确实跟我们之前想的一样,输出了我们在构造方法里的输出语句,并且也创建出了我们的对象。 

使用setter地方式:<property>

使用setter的方式创建对象和我们之前演示的效果是一样的,只不过把<constructor-age>标签换成了<property>标签:

JavaEE简单示例——依赖注入

同样的,我们在setter方法里写入一句话,如果这句话被输出了,那么就说明我们是使用setter方法进行依赖注入:

JavaEE简单示例——依赖注入

然后我们进入测试类进行测试:

JavaEE简单示例——依赖注入 很合理,跟我们之前说的一样,确实是输出了我们在setter方法里输出的语句,使用setter进行依赖注入是比较流行的方式,这种方式更直观的看出我们的属性和值的对应关系。

关于使用setter方式进行依赖注入的时候的name的值:

在使用setter的方式进行依赖注入的时候,我们name属性对应的值并不是属性值,而是setter方法去掉关键字之后并将第一个字母变成小写之后的值,也就是说对应的其实是setter的方法名,只不过我们自动生成的标准的setter方法是使用set关键字和属性名组合的方式,所以如果是使用标准的方法生成的setter方法其实这个地方就可以写属性名,但是我们要知道这个地方的本质是什么。

注意点:

其实说白了,依赖注入就是给对象类的属性赋值的方式,在之后,我们还会学习基于注解的开发方式,无论到了什么时候Spring的依赖注入的含义都相当于是赋值,只不过这个赋值的动作是在程序运行中由Spring去管理,动态得进行赋值,而不需要我们去管理。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/153294.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!