spring依賴注入的3種方式

2021-09-24 15:08:53 字數 2665 閱讀 6077

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自己來控制其實例化 直接在構造器中指定依賴關係或者...