最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java Spring AOP詳解及簡(jiǎn)單實(shí)例

 更新時(shí)間:2017年05月08日 11:23:26   投稿:lqh  
這篇文章主要介紹了java Spring AOP詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下

一、什么是AOP

  AOP(Aspect Oriented Programming)面向切面編程不同于OOP(Object Oriented Programming)面向?qū)ο缶幊?,AOP是將程序的運(yùn)行看成一個(gè)流程切面,其中可以在切面中的點(diǎn)嵌入程序。

  舉個(gè)例子,有一個(gè)People類,也有一個(gè)Servant仆人類,在People吃飯之前,Servant會(huì)準(zhǔn)備飯,在People吃完飯之后,Servant會(huì)進(jìn)行打掃,這就是典型的面向切面編程.

  其流程圖為:

 

二、Spring AOP實(shí)現(xiàn):

1、People類:

public class People {

 public void eat() {
 System.out.println(“happyheng開始吃飯啦");
 }

 public void play(){
 
 }
}

Servant類:

@Aspect
public class Servant {

 /**
 * 在吃飯之前
 */
 @Before("execution(** com.happyheng.entity.People.eat(..))")
 public void prepareFood(){
 System.out.println("準(zhǔn)備食物");
 }

 /**
 * 在吃飯之后
 */
 @After("execution(** com.happyheng.entity.People.eat(..))")
 public void clean(){
 System.out.println("打掃");
 }

}

其中的 @Before是指執(zhí)行前,@After是指執(zhí)行方法后獲取方法拋出異常后,@AfterReturning是指在執(zhí)行方法后調(diào)用,@AfterThrowing是指方法拋出異常后調(diào)用。

2、在applicationContext.xml中進(jìn)行配置:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
http://www.springframework.org/schema/aop 
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 
http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context-3.0.xsd"
xmlns:context="http://www.springframework.org/schema/context">
<context:component-scan base-package="com.happyheng" />
<aop:aspectj-autoproxy />
<!--注意Aspect的bean必須在Spring中注冊(cè),否則不會(huì)生效,Spring會(huì)用這個(gè)bean進(jìn)行攔截-->
<bean class="com.happyheng.aop.Servant"></bean>
<bean id="happyheng" class="com.happyheng.entity.People"></bean>
</beans>

3、在main中使用:

 public static void main(String[] args) {
 ApplicationContext ctx = new ClassPathXmlApplicationContext(APPLICATION_XML);
 
 People happyheng = (People)ctx.getBean("happyheng");
 happyheng.eat();
 }

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Java編程實(shí)現(xiàn)提取文章中關(guān)鍵字的方法

    Java編程實(shí)現(xiàn)提取文章中關(guān)鍵字的方法

    這篇文章主要介紹了Java編程實(shí)現(xiàn)提取文章中關(guān)鍵字的方法,較為詳細(xì)的分析了Java提取文章關(guān)鍵字的原理與具體實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • JAVA中ListIterator和Iterator詳解與辨析(推薦)

    JAVA中ListIterator和Iterator詳解與辨析(推薦)

    這篇文章主要介紹了JAVA中ListIterator和Iterator詳解與辨析,需要的朋友可以參考下
    2017-04-04
  • Java簡(jiǎn)單使用EasyExcel操作讀寫excel的步驟與要點(diǎn)

    Java簡(jiǎn)單使用EasyExcel操作讀寫excel的步驟與要點(diǎn)

    相信現(xiàn)在很多搞后端的同學(xué)大部分做的都是后臺(tái)管理系統(tǒng),那么管理系統(tǒng)就肯定免不了Excel的導(dǎo)出導(dǎo)入功能,下面這篇文章主要給大家介紹了關(guān)于Java簡(jiǎn)單使用EasyExcel操作讀寫excel的步驟與要點(diǎn),需要的朋友可以參考下
    2022-09-09
  • java基礎(chǔ)-數(shù)組擴(kuò)容詳解

    java基礎(chǔ)-數(shù)組擴(kuò)容詳解

    這篇文章主要介紹了Java數(shù)組擴(kuò)容實(shí)現(xiàn)方法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-08-08
  • 一文詳解Java中的注解(Annotation)

    一文詳解Java中的注解(Annotation)

    在Java中注解(Annotation)引入始于Java5,用來描述Java代碼的元信息,通常情況下注解不會(huì)直接影響代碼的執(zhí)行,盡管有些注解可以用來做到影響代碼執(zhí)行,這篇文章主要給大家介紹了關(guān)于Java中注解(Annotation)的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • 詳解Java中如何正確書寫單例模式

    詳解Java中如何正確書寫單例模式

    一般單例都是五種寫法:懶漢,餓漢,雙重校驗(yàn)鎖,靜態(tài)內(nèi)部類和枚舉。本文整理了幾種常見的單例寫法,下面跟著小編一起來看下吧
    2017-01-01
  • Java spring boot 實(shí)現(xiàn)支付寶支付功能的示例代碼

    Java spring boot 實(shí)現(xiàn)支付寶支付功能的示例代碼

    這篇文章主要介紹了Java spring boot 實(shí)現(xiàn)支付寶支付功能,本文通過實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Maven基礎(chǔ):錯(cuò)誤對(duì)應(yīng):was cached in the local repository的解決

    Maven基礎(chǔ):錯(cuò)誤對(duì)應(yīng):was cached in the local&nbs

    這篇文章主要介紹了Maven基礎(chǔ):錯(cuò)誤對(duì)應(yīng):was cached in the local repository的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • 基于synchronized修飾靜態(tài)和非靜態(tài)方法

    基于synchronized修飾靜態(tài)和非靜態(tài)方法

    這篇文章主要介紹了基于synchronized修飾靜態(tài)和非靜態(tài)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • jdk線程池的實(shí)現(xiàn)

    jdk線程池的實(shí)現(xiàn)

    本文主要介紹了jdk線程池的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04

最新評(píng)論

宜兰县| 龙南县| 东乡县| 万州区| 漳州市| 宿松县| 噶尔县| 鹿泉市| 五台县| 宾川县| 伊宁市| 高陵县| 潍坊市| 龙南县| 吉木萨尔县| 改则县| 聊城市| 中方县| 平顺县| 陆丰市| 钟祥市| 元朗区| 新昌县| 宁强县| 太湖县| 内江市| 云霄县| 色达县| 循化| 大港区| 皮山县| 巴南区| 乐东| 防城港市| 海兴县| 邵东县| 禄丰县| 松溪县| 山东省| 揭东县| 河西区|