註解
說明@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...