spring bean的一些問題
阿新 • • 發佈:2018-12-19
待整理
@Service("alarmService") 等同於xml配置中bean的id,如果不指定,預設為首字母小寫的類名(如com.fpi.sms.AlarmService為alarmService)
Spring 2.5 中除了提供 @Component 註釋外,還定義了幾個擁有特殊語義的註釋,它們分別是:@Repository、@Service 和 @Controller。
在目前的 Spring 版本中,這 3 個註釋和 @Component 是等效的,但是從註釋類的命名上,很容易看出這 3 個註釋分別和持久層、業務層和控制層(Web 層)相對應。
雖然目前這3 個註釋和 @Component 相比沒有什麼新意,但 Spring 將在以後的版本中為它們新增特殊的功能。
所以,如果 Web 應用程式採用了經典的三層分層結構的話,最好在持久層、業務層和控制層分別採用上述註解對分層中的類進行註釋。
@Service用於標註業務層元件
@Controller用於標註控制層元件(如struts中的action)
@Repository用於標註資料訪問元件,即DAO元件
@Component泛指元件,當元件不好歸類的時候,我們可以使用這個註解進行標註。
@Service(value="testServiceImpl")
,等同於
xml
配置中
bean
的
id
等同於
xml
配置中
bean
的
id