Spring基礎之三 annotation配置注入

2021-08-27 06:21:04 字數 1446 閱讀 7950

用annotation配置只在源**相應的地方加入annotation即可,xml就不用再來回來去改了,開發時候快,不過我覺得沒xml清楚。

<?xml version="1.0" encoding="utf-8"?>

其中這兩句是新加且必須的,新加了乙個命名空間:xml的namespace
xmlns:context=""

其實annotation全寫對了的話,配置檔案就是最上邊那樣了(package要改),不用再加別的東西了。

在server層的setter上,加上@autowired,相當於省略了property name=「***」

@autowired

public void setuserdao(iuserdao userdao)

但被注入檔案的初始化等還得手動來,也就是說,@autowired省略了下邊注釋裡的東西

@qualifier(value=" objnox ")可以解決,多個相同型別檔案注入時匹配的問題:

如果xml中,存在兩個相同型別的例項: u1 和u2, @autowired後程式不知道你到底要注入哪乙個

這樣就會有錯,這時候就要用@qualifier指定一下

@autowired

public void setuserdao(@qualifier(value="u1") iuserdao userdao)

@qualifier(value="u1"就說的很清楚了,我要注入u1

@resource(name="objnox"),一樣可以解決上邊第三點說到的問題

service層這麼寫:

@resource(name="u1")

public void setuserdao(iuserdao userdao)

xml配置檔案裡還剩標籤還比較囉嗦。

可用在相應的類的上邊,宣告@component(value=" userservice01 "),代替對bean的規定

如:

@component(value="u1")

public class userdaoimpl implements iuserdao

就相當於代替了

再如:

@component(value="userservice01")

public class userservice

就相當於代替了

...

spring知識之三

條件化的bean 假設你希望乙個或多個bean只有在應用的類路徑下包含特定的庫時才建立。或者我們希望某個bean只有當另外某個特定的bean也宣告了之後才會建立。我們還可能要求只有某個特定的環境變數設定之後,才會建立某個bean。在spring 4之前,很難實現這種級別的條件化配置,但是spring...

python基礎之三

import module name 直接匯入 module name.func 呼叫函式時,需要模組名作為字首 from module name import function name 不用使用模組名作為字首 from module name import 匯入模組下的所有函式和類注 pytho...

Oracle基礎之三

3.select distinct 列名稱 別名 列名稱 別名 列名稱 別名 from 表名稱 別名 where 過濾條件 s order by 字段 asc desc 字段 asc desc 字段 asc desc order by 是在select 後面執行的,所以可以唯一使用別名進行排序。as...