spring架構(二)

來源:互聯網
上載者:User

標籤:開發   point   web   掃描   xml配置   pos   style   面向切面編程   常用   

Spring的bean管理(註解)

  1、代碼裡面特殊標記,使用註解可以完成相應功能

  2、註解寫法@註解名稱(屬性名稱=屬性值)

  3、類,方法,屬性(註解使用)

spring註解開發準備
  1、匯入基本的jar包及aop的jar包(有關註解的jar包)
  2、建立類,建立方法
  3、建立spring設定檔,引入約束
    spring的ioc註解開發,引入新的約束
  4、開啟註解掃描

@Component:組件(作用在類上)

  Spring中提供@Component的三個衍生註解:(功能目前來講是一致的)

    @Controller:web層

    @Service:業務層

    @Repository:持久層

註解建立對象

  1、在建立對象的類上面使用註解實現

  2、建立對象的四個註解

註解注入屬性 @Autowired自動裝配

  1、建立Service類,建立Dao類,在service得到dao對象

  2、@Resource(name="userDao"):name屬性值 寫 註解建立dao對象value

設定檔和註解混合使用

  1、建立對象操作使用設定檔方式實現

  2、注入屬性的操作使用註解方式實現

AOP

  aop:面向切面編程,擴充功能不修改原始碼實現

  aop採取橫向抽取機制,取代了傳統縱向繼承體系重複性

AOP底層原理

  動態代理實現

AOP操作術語

  Joinpoint(連接點):

    在類裡面可以被增強方法法,這些方法稱為連接點

  Pointcut(切入點)

    在類裡面可以有很多的方法被增強,實際增強方法成為切入點

  Advice(通知/增強)

    增強邏輯,稱為增強,比如擴充日誌功能,這個日誌功能成為增強

      前置通知:在方法前執行

      後置通知:在方法後執行

      異常通知:在方法發生異常執行

      最終通知:在後置之後執行

      環繞通知:

  Aspect(切面)

    把增強應用到具體方法上面的過程稱為切面

    (把增強用到切入點的過程)

spring的aop操作(基於aspectj的xml方式

  1、在spring裡面進行aop操作,使用aspectj實現

    aspectj不是spring一部分,和spring一起使用進行aop操作

    spring2.0以後新增了對AspectJ支援

  2、使用aspectj實現aop有兩種方式

    基於aspectj的xml配置

    基於aspectj的註解方式

AOP操作準備

  1、除了匯入基本的jar包之外,還需要匯入aop相關的jar包

  2、建立spring核心配置,匯入aop約束

使用運算式配置切入點

  1、切入點,實際增強方法

  2、常用的運算式

    execution(<存取修飾詞>?<傳回型別><方法名>(<參數>)<異常>)

    execution(* *.*(..))

log4j介紹

  1、通過log4j可以看到程式運行過程中更詳細的資訊

    經常使用log4j查看日誌

  2、使用

    匯入log4j的jar包

    複製log4j。properties的複製檔案,複製到src下面

  3、設定記錄層級

    log4j.rootLogger=info,stdout

    info:看到基本資料

    debug:看到更詳細資料

spring整合web項目示範

  1、示範問題

   (1)action調用service,service調用dao

    每次訪問action時候,都會載入spring設定檔

  2、解決方案

  (1)在伺服器啟動時,建立對象載入設定檔

  (2)底層使用監聽器、ServletContext對象

  3、在spring中不需要我們自己寫代碼實現,已經協助我們封裝

  (1)封裝了一個監聽器,只需要配置監聽器就可以了

  (2)配置監聽器之前做一些事情:匯入spring整合web項目的jar包(spring-web.jar)

  (3)指定載入spring設定檔位置

1 <context-param>2     <param-name>contextConfigLocation</param-name>3     <param-value>classpath:bean1.xml</param-value>4 </context-param>

 

 

 

    

spring架構(二)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.