- 設值注入--注入方式1/3
<bean id="user" class="com.cosmos.entity.User">
<!-- 注入List集合(不重複,有序) -->
<property name="list1" >
<list>
<value>123</value>
<value>124</value>
</list>
</property>
<!-- 注入Set集合(重複無序) -->
</bean>
通過property來實現給對象的屬性賦值。
- 構造注入--注入方式2/3
創建帶參構造方法
編寫帶參構造方法後,Java虛擬機不再提供默認的無參構造方法,爲了保證使用的靈活性,建議自行添加一個無參構造方法。
怎麼實現構造呢?
<bean id="userServiceImpl" class="com.cosmos.service.impl.UserServiceImpl">
<constructor-arg>
<ref bean="userDao"/>
</constructor-arg>
</bean>
構造注入和設值注入區別在於設值注入使用setter方法給屬性設值,而構造注入則是將屬性通過有參構造來初始化屬性值。
- P命名空間注入--注入方式3/3
p命名空間的特點:使用屬性而不是子元素的形式配置Bean的屬性,從而簡化了配置代碼。
語法:
對於直接量(基本數據類型、字符串)屬性:p:屬性名=“屬性值”
對於引用Bean的屬性:p:屬性-ref=”Bean的id”
使用前要先在Spring配置文件中引入p命名空間
Xmlns:p=”http://www.springframework.org/schema/p”
使用p命名空間注入屬性值
<bean id="user" class="com.cosmos.entity.User" p:name="張三" p:age="21" p:email="[email protected]">
</bean>
<bean id="userServiceImpl" class="com.cosmos.service.impl.UserServiceImpl" p:dao-ref="userDaoImpl">
<property name="dao" ref="userDaoImpl"></property>
</bean>