通过spring构造实例对象的时候,对象中的属性赋值的方式有如下几种:
一、通过setter方法注入:类中一定要提供相应的setXX方法,才能执行成功
在applicationContext.xml做如下配置:
<span style="font-size:18px;"><!-- 通过setter注入 -->
<bean id="userDao1" class="cn.itcast.h_di_simple.UserDaoImpl">
<property name="jdbcUrl" value="jdbc:mysql:///test"></property>
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean></span>
<span style="font-size:18px;"></span><p><strong>
</strong></p><p><strong>
</strong></p><p><strong>二、通过构造器注入:类中要提供带参数的构造方法,并且下面参数是有顺序的(和类中的构造器参数顺序一样)</strong></p><p><strong><span style="font-size:18px; "><strong>在</strong></span><span style="font-size:18px; "><strong>applicationContext.xml做如下配置:</strong></span>
</strong></p><p><strong><span style="font-size:18px; "><strong></strong></span></strong><pre name="code" class="html"><!-- 通过构造方法注入,会自动按顺序与参数匹配 -->
<bean id="userDao2" class="cn.itcast.h_di_simple.UserDaoImpl">
<constructor-arg value="jdbc:mysql:///test22"></constructor-arg>
<constructor-arg value="com.mysql.jdbc.Driver22"></constructor-arg>
<constructor-arg value="root_name22"></constructor-arg>
<constructor-arg value="root_password22"></constructor-arg>
</bean>
<!-- 通过构造方法注入,会与指定的索引匹配,第1个索引为0 -->
<bean id="userDao3" class="cn.itcast.h_di_simple.UserDaoImpl">
<constructor-arg index="0" value="jdbc:mysql:///test22"></constructor-arg>
<constructor-arg index="1" value="com.mysql.jdbc.Driver22"></constructor-arg>
<constructor-arg index="2" value="root_name22"></constructor-arg>
<constructor-arg index="3" value="root_password22"></constructor-arg>
</bean>