Spring & Spring MVC 4. Spring 依赖注入

Spring框架的核心功能之一就是通过依赖注入的方式来管理Bean之间的依赖关系。

我们之前没有 Spring 的时候,都是通过 new 的方式实例化类,调用方法、属性啥的,但是现在有了 Spring 之后,我们可以通过 Spring 的依赖注入来对这些个类啊啥的进行管理。这样既做到了解耦,还做到了代码的美化。

我们主要来学习其中的两种依赖注入的方式,一个是基于构造方法的,还有一个是基于 setter 方式的。

一、构造方法

我们先创建一个老师类,然后给这个老师类定义一些东西。

然后自己弄一下 get、set、toString、有参构造等方法。

就弄一个类不够,在弄一个学生类。

.同样,自己加一下 get、set、toString、有参构造等方法。

然后我们去我们的 Bean.xml 中配置一下这两个 Bean。这里我们需要使用嵌套标签 constructor-arg 来为我们的属性进行赋值

就这样,这里注意一下,顺序要和构造方法的顺序一样哦,而且,value 和 ref 注意别写错!!!测试一波~~~

是 OK 的哈,没有问题。

当然哈,这样虽然没有错,但是,如果我们把 constructor-arg 的位置修改一下,就会报错,为了不报错,我们采用另外的一种方式

我们使用 constructor-arg 的 type 属性

我们顺便打乱了顺序,我们再来执行一下

可以看到哈,也是没有错的。

但是,同样这个注入的方式也有漏洞,如果两个属性,或者更多属性都是 int 呢,这就完蛋了,所以,我们引入最好的方式,索引。

我们根据这个位置,来修改 bean.xml

可以了,再来测试一波

OK 的哈。

我们以后再有这个传递的时候,我们就使用索引的这个方式。

二、基于 setter 方式

基于 setter 的方式,我们只需要修改 bean.xml 就可以了。

我们舍弃之前的 constructor-arg,改成 property

name 对应 构造方法中的属性名称,value 就是具体的值,ref 就是引用的其他的 bean 的 id。

这里注意的是,需要把上面的那个 id 为 student 的 bean 还有 teachar 的 bean 都注释掉,不了会报错,然后我们运行一下。

报错了,这里我需要说明一下,我这里是因为没有添加无参构造函数导致的,各位自己加一下,然后再运行一下。

是没有问题的~~~

当然啊,我们也可以这样去写,再来看一个

然后我们再来测试一下

完美运行~~~

这种方式叫做内部注入 Bean 的方式。

好了,这一篇就先到这里,先看着,慢慢消化。

各位,还有一件事,我的官网要准备从新制作,有没有什么好的提议,用什么框架,有什么功能,欢迎各位小伙伴提供~~~(直接评论在评论区即可,我到时候会整理起来)

猜你喜欢

转载自blog.csdn.net/weixin_45908370/article/details/114677817