spring的主要特點就是依賴注入和控制反轉,那麼注入的方式有多少種呢。答案是三種分別是註解,get和set方法,構造器注入,下面就來簡單的說下用法。
1.最簡單的是第二種,我們只需要在bean裡使用properties注入進去就可以了,如
<bean
id="personmanager"
class="org.lxh.impl.personmanger"
>
<
property
name="teacherdao"
ref="teacherdao"
>
property
>
bean
>
這樣的話只需要在我們的bean裡加入該dao的set方法就ok了,get方法要不要都可以
private teacherdao teacherdao;public teacherdao getteacherdao()
public
void setteacherdao(teacherdao teacherdao)
2.構造器注入
這裡需要用到乙個叫constructor-arg的標籤,裡面的屬性為index(從0開始),ref,value(注入普通變數的時候用),type(注入普通變數的時候可以不寫),這裡的type表示的是介面
<constructor-arg
index="0"
type="org.lxh.dao.studentdao"
ref="dao"
>
constructor-arg
>
bean裡面這樣寫就ok 了,這裡要注意的是要留下預設的構造器
private studentdao dao;public personmanger()
public personmanger(studentdao dao)
3.使用註解注入
使用註解的時候,需要增加下面3句,並開啟那個反射節點
xmlns:context=""/spring-context-2.5.xsd">
配置檔案大致如下
<beans
xmlns=""
xmlns:xsi=""
xmlns:context=""
xsi:schemalocation="
/spring-beans-2.5.xsd
/spring-context-2.5.xsd">
<
context:annotation-config
/>
使用註解有2種方式分別是:自動裝配,手工裝配,開發中建議使用手工裝配,這幾個註解分別為@resource(預設按名稱裝配),@autowired(自動裝配預設是按型別裝配)
// //註解注入的第一種方式// @resource private studentdao dao;
//// public personmanger()
// public personmanger(studentdao dao)
// 註解注入的第二種方式
// private studentdao dao;
//// @resource
// public void setdao(studentdao dao)
@service,@controller,@repository,@component,目前的話四個註解spring沒有做嚴格區分,隨便用哪乙個都可以,主要用於元件自動掃瞄,要使用這種方式就要填乙個節點,使用這個節點前面的那個反射的節點就可以不用了
base-package配置的是基本包,這個根據實際情況作修改,之後的工作就是在需要在要交給spring管理的介面和實現類加入上面四個註解中的乙個 ,這裡的註解也可以配置bean的名稱,名稱的配置就不細說了
package org.lxh.impl;import org.lxh.dao.teacherdao;
import org.springframework.stereotype.service;
@service("teachermanager")
public
class teachermanager implements teacherdao
} package org.lxh.dao;
import org.springframework.stereotype.repository;
@repository
public
inte***ce teacherdao
這樣的配置單元測試**應該如下
package org.lxh.test;import org.lxh.dao.persondao;
import org.lxh.dao.teacherdao;
public
class testunit }
下面是執行結果
Spring 依賴注入的3種方式
在使用spring的功能之前必須要裝配好bean,並且建立好他們之間的關係。spring中依賴注入有3種方式 一 構造器注入public class role setter and getter bean id role class role constructor arg index 0 valu...
spring依賴注入的4種方式
一 set注入 必須要有setter方法 public class userdao package com.yao.service import com.yao.pojo.userdao public class userservice public void test userdao class ...
Spring依賴注入方式
b 一 依賴注入 di 簡介 b 依賴注入背後的基本原理是物件之間的依賴關係,可以通過以下幾種方式來實現 構造器的引數 工廠方法的引數,或給由建構函式或者工廠方法建立的物件設定屬性。因此,容器的工作就是建立bean時注入那些依賴關係。相對於由bean自己來控制其實例化 直接在構造器中指定依賴關係或者...