你知道Spring常用的三种注入方式是什么吗?有很多的人对这个方面都不大清楚,那么下面就一起来看看这三种常用的方式吧。
三种方式:
一个是构造器注入,第二个是setter注入,第三个是接口注入,下面的话就详细的给大家对这三种方式进行一下讲解。
首先要讲到的就是构造器注入。
构造器注入的话主要是依赖构造方法去实现的。
构造方法可以是无参也可以是有参,一般的话都是通过类的构造方法来创建类对象,给他赋值。
同样的Spring也能够采用反射的方式,依赖构造方法来完成注入(赋值),这也就是构造器注入的原理。
下面一起来详细的看一下代码实现:
/** * * 构造器注入 * */ package com.xiaojiang.Spring; public class Role { private int id; private String roleName; private String note; public Role() {} public Role(int id, String roleName, String note) { <br> super(); this.id = id; this.roleName = roleName; this.note = note; }<br><br> //setter,getter方法省略 }
applicationContext.xml文件:
<!--构造器配置--> <bean id="Role" class="com.xiaojiang.Spring.Role"> <constructor-arg value="1" type="int"></constructor-arg> <constructor-arg value="小江" type="java.lang.String"></constructor-arg> <constructor-arg value="有点丑" type="java.lang.String"></constructor-arg> </bean>
constructor-arg元素用来定义类构造方法的参数,在这当中,type用来定义参数的类型,也能够使用index来定义参数的位置。
这里的value用来设置值。
上面的代码就是通过一个Spring去装配一个Bean。
再来讲一下setter注入。
setter注入是当前Spring最主流的注入方式。
能够利用Java Bean规范所定义set/get方法来完成注入。
可读性灵活性高,它可以不需要使用构造器注入的时候出现的多个参数,他能够将构造方法声明成无参构造,再使用setter注入设置相对应的值。
实际上的话也就是通过java反射技术来实现。
类里面的代码set和get方法这里就省略了,直接上xml代码。
<!--配置setter注入--> <bean id="Role" class="com.xiaojiang.Spring.Role"> <property name="id" value="1"> <property> <property name="roleName" value="小江"> <property> <property name="note" value="测试"> <property> </bean>
上面的方式就是Spring最主要的方式。
最后来讲一下接口注入。
这里的话就简单的介绍一下。
其实,接口注入在很多容器当中都得到了应用,但是因为灵活性、易用性上面比不上其他两种注入模式,所以的话不是很被人看好。
关于spring ioc注入的方式就给你介绍到这里啦!希望上面的内容整理能够对你的java学习之路有所帮助哦。
更多的java常见问题及解决方法,请继续的关注本站来进行了解吧。
推荐阅读: