依賴注入:本質就是對類中的變數進行賦值操作!
spring 使用註解標註類,spring容器通過包掃瞄註解,將這些標註了spring註解的類管理起來。
1、@service註解:
標註在乙個service層的業務類上,告訴spring容器這是乙個service層業務類,spring就會自動建立這個類的例項,在你需要這個物件的地方將它注入。
標註了這個註解的類在spring容器中生成的物件的id預設是首字母小寫的類名,也可以由自己指定@service("name")
2、@reposity註解:
標註在dao層的類或介面上,告訴spring容器這是乙個dao層的類或介面,spring容器自動建立這個類的例項並且管理起來。預設id是類名或介面名首字母小寫,可自己指定。
3、@component註解:
萬能註解,它可以標註在你寫的任意類上,在類上標註了這個註解,就會將這個類交由spring容器來進行管理,包括建立例項和依賴注入。
4、@qualifier註解和autowired註解:
1)@autowiired註解標註在變數上,讓spring容器根據變數的型別來進行自動的依賴注入
2)@qualifier註解標註在變數上,讓spring容器根據例項的id來實現依賴注入。是解決autowired註解的不足的乙個註解,因為當spring容器中有兩個及以上的相同型別的例項物件時,使用@autowired註解就無法實現自動注入,spring容器無法知道注入哪乙個例項就會報錯。這時使用@qualifier註解根據id來依賴注入就可以解決問題。這兩個註解是互相搭配來使用的。
3)也可以使用@value(#)和@resource(name=「bean的id」)來實現依賴注入
<?xml version="1.0" encoding="utf-8"?>
xmlns
=""xmlns:xsi
=""xmlns:context
=""xsi:schemalocation
="/spring-beans.xsd
/spring-context.xsd"
>
<
context:component-scan
base-package
="com.jsu"
/>
beans
>
pojo
public
class
person
service
@service
public
class
personservice
")//第三種:@resource(name="bean的id值")
@autowired
persondao persondao ;
}
dao
@reposity
public
inte***ce
persondao
test
@test
public
void
test10()
spring 依賴注入之 Resource注入
public propertyvalues postprocessproperties propertyvalues pvs,object bean,string beanname catch throwable ex return pvs private injectionmetadata fin...
Spring 註解式依賴注入
在context.xml檔案新增下列 啟用註解式依賴注入。其中base package的值改為所要掃瞄的包路徑。這裡設定為 com.diko.first包下的所有類。component任何乙個交給spring管理的類都可以使用 component註解來注釋。component註解基本可以放在任何可受...
Spring之使用註解例項化Bean並注入屬性
1 匯入jar包 除了上篇文章使用到的基本jar包外,還得加入aop的jar包,所有jar包如下 2 配置xml 1 例項化bean有四個註解雖然分了層,但目前這四個註解的功能是一樣的。service value user 相當於bean標籤中的id,四種方式功能一樣 component value...