天天看點

spring中ApplicationContext.xml檔案中的<bean>标簽詳解

ApplicationContext.xml檔案中

  • < bean > 标簽實際上是将為了将建立對象的步驟從java程式中脫離出來,即在xml中new一個對象,而不是在java程式中new對象。如:

    <bean id="userDaoId" class="com.itheima.ioc.UserDaoImpl"/>

    等效于:

    UserDaoImpl userDaoId = new UserDaoImpl();

    userDaoId則是這個對象的名字。
  • < property >标簽則是為了給userDao對象中的變量指派所提供的一個标簽。參數name的值為變量名。參數value的值則是為基本資料類型的變量指派,參數ref則是為引用資料類型的變量指派。即:

    <property name="變量名" value/ref="變量值">

    等效于:

    基本資料類型/引用資料類型 變量名 = 變量值;

    name的值要與類中的變量名對應,而id名則可自己命名

舉個栗子:

下圖表示:建立了一個名為userDaoId的執行個體對象和一個userServiceId的執行個體對象,并将userDaoId指派給userServiceId對象裡的userDao變量(把userDaoId注入給userServiceId)。此例子中的變量為引用類型,是以用ref。

在userServiceImpl中要有userDao的Setter方法才可以注入

spring中ApplicationContext.xml檔案中的&lt;bean&gt;标簽詳解

用java程式描述即為:

UserDaoImpl userDaoId = new UserDaoImpl(); 
UserService userServiceId = new UserService();
userServiceId.userDao = userDaoId;