spring

1 xml依賴注入的幾種方式(也就是給對象注入數據或者其他類對象,比如@Autowired)

1)構造函數注入。相當於利用類的有參構造函數.

2)set方法注入。相當於利用類的set方法.

3)複雜類型/集合類型注入。類中成員變量array list set map property,以及對應的set方法。

2 註解類型

1)基本類型和string類型可以通過value註解來注入。可以使用spring的el表達式,比如${表達式}。要結合@PropertySource來配合使用,這個註解目的是指定讀取value的配置文件的位置和名稱。

2) 對象注入 Component  Controller Service Repository。 依賴注入 ,下面三種只用於bean注入,基本類型string類型無法通過這些註解實現注入,另外集合類型只能通過xml注入。

2.1)Autowired

2.1.1)默認自動按照類型注入。

當有多個接口的實現類時, 使用變量名稱在ioc容器中再按照key來尋找。(藍線所畫內容,變量名字都不匹配時就會報錯)

2.2)Qualifier,不能獨立使用,必須跟Autowired一塊使用,可以指定名字,這樣就不需要更改變量名字了。

@Autowired
@Qualifier(value = "accountDao2")

2.3)Resource 直接按照bean的id注入,獨立使用。

@Resource(name="accountDao2")

3 配置類Configuration(主要作用是將外部引入的發佈jar包來交給spring ioc管理,而非自己寫的類)

配置類中全是方法,那麼方法中獲取的對象怎樣注入容器呢?答案就是Bean註解。

@Bean  用在方法上,用於把當前方法的返回值存入spring容器中。 Bean的屬性name用於指定bean的id,如果沒有寫,id默認是當前方法的名稱;value是返回的類。細節:如果註解方法有參數,spring框架會去容器中查有沒有可用的對象,查找方法跟Autowired一樣。

3.1)假設SpringConfiguration總配置類,JdbcConfig爲其中一個子配置類。

@Import註解,value屬性是需要引入的子配置類的字節碼JdbcConfig.class。他的作用跟後兩步加起來效果一樣,第一步是直接在JdbcConfig類上面加上@Configuration註解,只有這樣纔會先識別JdbcConfig這個配置類,之後再讀JdbcConfig這個類裏面@Bean 註解提取返回的對象注入容器;第二步是在主配置類SpringConfiguration的@ComponentScan註解加上子配置類的路徑信息,多個路徑逗號分割,比如@Component("com.itheima","config")。

 

二 AOP

1 通配符含義

全名稱
  public void com.tal.service.impl.AccountServiceImpl.saveAccount()
訪問修飾符可以省略
  void com.tal.service.impl.AccountServiceImpl.saveAccount()
返回值可以使用通配符,表示任意返回值
  * com.tal.service.impl.AccountServiceImpl.saveAccount()
包名可以使用通配符,但是有幾級包,就要使用幾個 *.
  * *.*.*.*.AccountServiceImpl.saveAccount()
包名可以使用.. 表示當前包及其子包
  * *..AccountServiceImpl.saveAccount()
全通配寫法,類名方法名都可以使用通配符,但是()不包含任何參數
  * *..*.*()
參數列表:
  可以直接使用數據類型
    基本類型直接寫名稱   int
    引用類型寫包名.類名的方式   java.lang.String
  可以使用通配符表示任意類型,但是必須有參數。
  也可以用..表示有無參數均可以,如果有參數就是任意類型
全通配寫法
  * *..*.*(..)
  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章