sprin**mc採用經典的三層分層控制結構,在持久層,業務層和控制層分別採用@repository、@service、@controller對分層中的類進行註解。
<
!--基於註解的裝配--
>
<
!--方式一--
>
="com.helloworld"
/>
<
!--方式二--
>
<
!--路徑寫到controller的上一層--
>
package
="com"
/>
package com;
@controller
public
class
helloworld
@autowried
private iocserevce service;
public
void
add(
)}
component-scan預設掃瞄的註解型別是@component,不過,在@component的語義基礎之上細化為@reposity,@service,@controller.
有乙個use-defaultbao』i-filters屬性,屬性預設是true,表示會掃瞄包下所有的標有@component的類,並註冊為bean,也就是@component的子註解@service,@reposity等
如果只想掃瞄包下的@controller或其他內容,則設定use-default-filters屬性為false,表示不再按照scan指定的包進行掃瞄,而是按照指定包進行掃瞄
package
="com" user-
default
-filters=
"false"
>
"regex" expression=
"com.tan.*"
/>
<
/context:component-scan>
當沒有設定use-default-filters屬性或屬性為true時,表示基於base-package包下指定掃瞄的具體路徑。
@service()
此注註解屬於業務邏輯層,service或者manager層
預設按照名稱進行裝配,如果名稱可以通過name屬性指定,如果沒有name屬性,註解寫在字段上時,預設去欄位名進行查詢,如果註解寫在setter方法上,預設按照方法屬性名稱進行裝配。當找不到匹配的bean時,才按照型別進行裝配,如果name名稱一旦指定就會按照名稱進行裝配
service層:
@service()
public
class
iocservice
}
@repository持久層
此註解式持久層元件,用於標註資料訪問元件,即dao元件
dao層
先定義乙個介面
public
inte***ce
iiocdao
然後實現類
//dao層中定義了一些介面
//表示將dao類宣告為bean
@repository
public
class
iocdao
implements
iiocdao
}
另外一種解釋: @repository對應資料訪問層bean
@repository
(value=
"userdao"
)public
class
userdaoimpl
extends
beansdaoimpl
@repository(value=「userdao」)註解告訴spring ,讓spring建立乙個名字叫做"userdao"的userdapimpl例項。
當service需要使用spring建立的名字叫「userdao」的userdaoimpl例項時,就可以使用@resource(name=「userdao」)註解告訴spring,spring把建立好的userdao注入給service即可。
//注入userdao,從資料庫中根據使用者id取出指定使用者時需要用到
@resource
(name =
"userdao"
)private basedao
userdao;
Spring MVC三層架構
物理分層用tier表示 邏輯分層用layer,絕大部分時候談的分層就是該分層 mvc中的三層架構 屬於layer層 微服務分層更加複雜 物理分層和邏輯分層並不是一 一對應的 三層架構中,實體類不應該叫model,要叫entity repository 在設計模式中是倉儲層 dao 資料持久層 ent...
Spring mvc 與三層架構
三層架構 3 tier architecture 通常意義上的三層架構就是將整個業務應用劃分為 介面層 user inte ce layer 業務邏輯層 business logic layer 資料訪問層 data access layer 區分層次的目的即為了 高內聚低耦合 的思想。在軟體體系架...
三層架構和Spring MVC的介紹
一.三層架構1 表現層 ui 通俗講就是展現給使用者的介面,即使用者在使用乙個系統的時候他的所見所得。2 業務邏輯層 bll 針對具體問題的操作,也可以說是對資料層的操作,對資料業務邏輯處理。3 資料訪問層 dal 有時候也稱為是持久層,該層所做事務直接運算元據庫,針對資料的增添 刪除 修改 更新 ...