IoC 自動裝載有幾種方式?

  1. 設值注入--注入方式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來實現給對象的屬性賦值。

  1. 構造注入--注入方式2/3

創建帶參構造方法

編寫帶參構造方法後,Java虛擬機不再提供默認的無參構造方法,爲了保證使用的靈活性,建議自行添加一個無參構造方法。

怎麼實現構造呢?

<bean id="userServiceImpl" class="com.cosmos.service.impl.UserServiceImpl">

<constructor-arg>

<ref bean="userDao"/>

</constructor-arg>

</bean>

構造注入和設值注入區別在於設值注入使用setter方法給屬性設值,而構造注入則是將屬性通過有參構造來初始化屬性值。

  1. 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>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章