Spring xml配置檔案的末路 註解開發

2021-10-19 13:38:37 字數 3701 閱讀 2156

註解

說明@component

使用在類上用於例項化bean

@controller

使用在類上用於例項化bean(具有web層語義)

@service

使用在類上用於例項化bean(具有service層語義)

@repository

使用在類上用於例項化bean(具有dao層語義)

@autowired

注入引用型別

@qualifier

注入引用型別

@resource

注入引用型別

@value

注入基本型別

@scope

bean作用範圍配置

@postconstruct

bean生命週期配置(初始化時呼叫)

@predestroy

bean生命週期配置(被銷毀時呼叫)

配置元件掃瞄

注意:配置元件掃瞄需要在context命名空間下進行,因此別忘了補上context命名空間(及其約束路徑)

<

context:component-scan

base-package

="service"

/>

<

context:component-scan

base-package

="dao"

/>

@component用於例項化bean

@component

("userdao"

)public

class

userdaoimpl

implements

userdao

}

@controller/@service/@repository也用於例項化bean,且帶有語義

@repository

("userdao"

)public

class

userdaoimpl

implements

userdao

}

@autowired根據類名自動注入引用(如果該類在spring容器中擁有多個bean,則報錯)

@component

("userservice"

)public

class

userserviceimpl

implements

userservice

}

@autowired+@qualifier根據id注入引用(兩個配合使用,不能少寫)

@component

("userservice"

)public

class

userserviceimpl

implements

userservice

}

@resource根據id注入引用(完全等價於@autowired+@qualifier)

@component

("userservice"

)public

class

userserviceimpl

implements

userservice

}

@value注入基本資料型別(通常與spel語法配合使用)

<

context:property-placeholder

location

="classpath:***.properties"

/>

@component

("userservice"

)public

class

userserviceimpl

implements

userservice")

private string password;

// ...

}

@scope配置作用範圍(singleton單例/prototype多例)

@component

("userdao"

)@scope

("prototype"

)public

class

userdaoimpl

implements

userdao

@postconstruct/@predestroy配置生命週期(初始化/銷毀時自動呼叫的方法)

@component

("userdao"

)public

class

userdaoimpl

implements

userdao

// ...

@predestroy

public

void

destroy()

}

上面的經典註解,並不能完全取代xml配置檔案。比如下列情況:

非自定義bean(第三方直接提供的bean):...

載入資源檔案:配置元件掃瞄:

我們使用一些巧妙的思路和設計,解決上面的問題:

註解說明

@configuration

標明這是乙個spring配置類

@bean

被標註的返回值會直接被放到spring容器中

@propertysource

用於載入資源檔案

@componentscan

用於配置元件掃瞄

@import

用於分模組開發

@configuration

// 表明這是乙個配置類

@componentscan()

// 配置元件掃瞄

@propertysource

("classpath:jdbc.properties"

)// 載入資源檔案

@import()

// 分模組開發

public

class

springconfiguration")

private string driver;

@value

("$"

)private string url;

@value

("$"

)private string username;

@value

("$"

)private string password;

@bean

("datasource"

)public datasource getdatasource()

throws exception

}

more >_<

Spring XML配置檔案中的重要元素

1.是spring xml配置檔案最頂層的元素,中可以包含乙個和多個 beans的屬性 beans可以對其包含的bean進行統一的預設設定,主要屬性有 default lazy init 預設false。標識是否對所有bean進行延遲初始化。default autowire 取值為no byname...

Spring Xml 檔案的配置 引數 屬性 說明

spring xml 檔案的配置 引數 屬性 說明 1 value元素 元素通過字串來指定屬性或構造器引數的值。com.mysql.jdbc.driver jdbc mysql localhost 3306 mydb root 2 idref元素 idref元素用來將容器內其它bean的id傳給或元...

drbd配置檔案 drbd配置檔案

drbd配置檔案 vim usr local drbd etc drbd.d global common.conf global usage count yes 是否參加drbd使用者統計 common protocol c 使用drbd的第三種同步協議 disk 使用dpod功能保證在數 on i...