@repository:給資料庫層的元件新增以下註解。
@component:給不屬於以上幾層的元件新增註解。
這幾個註解的效果都是向容器中註冊元件。
用註解註冊的元件有以下特點:
預設id為類名首字母小寫。
元件預設是單例模式。
要想使用註解註冊元件,需要以下兩部:
給元件新增註解。
在xml中新增context依賴空間。
<
context:component-scan
base-package
="com.hi"
>
context:component-scan
>
context:component-scan:自動掃瞄元件。
base-package:定義自動掃瞄的包。
修改xml
<
context:component-scan
base-package
="com.hi"
>
<
context:exclude-filter
type
="annotation"
expression
="註解的全類名"
>
context:exclude-filter
>
<
context:include-filter
type
="annotation"
expression
="註解的全類名"
>
context:include-filter
>
context:component-scan
>
context:exclude-filter:排除指定元件。
context:include-filter:只包含某一屬性。
建立dao類
@repository
public
class
dao}
建立service類,自動注入dao類
@service
public
class
myservice
}
然後呼叫dealwith方法
public
static
void
main
(string[
] args)
以下是輸出
spring先按照型別從容器中獲取元件(ioc.getbean(***.class)),找到乙個直接賦值。
如果找到多個根據id從容器中獲取元件。
比如我又定義了乙個類:
@repository
public
class
daoext
extends
dao}
此時,型別是一樣的都是dao.class,但是id不同,乙個是dao,另乙個是daoext,此時自動裝配就會根據id來選擇獲取容器元件。
注意:@autowired和@resource都可以進行自動裝配
Spring常用註解
spring常用註解 1 引入context命名空間 在spring的配置檔案中 配置檔案如下 xml xmlns context spring context 2.5.xsd 開啟配置 spring 會自動掃瞄cn.pic包下面有註解的類,完成bean的裝配。xml xmlversion 1.0 ...
Spring常用註解
在spring中常用的註解 autowired註解 不推薦使用,建議使用 resource autowired可以對成員變數 方法和建構函式進行標註,來完成自動裝配的工作。autowired的標註位置不同,它們都會在spring在初始化這個bean時,自動裝配這個屬性。要使 autowired能夠工...
spring常用註解
1 引入context命名空間 在spring的配置檔案中 配置檔案如下 xml 收藏 xmlns context spring context 2.5.xsd 開啟配置 spring 會自動掃瞄cn.pic包下面有註解的類,完成bean的裝配。xml xmlns xmlns xsi xmlns c...