第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • Bean的生命周期-初始化

    查看全部
  • Spring官網(wǎng)對Bean的作用域解釋

    查看全部
  • Bean的作用域

    查看全部
  • Bean的常用配置項

    查看全部
  • Advice擴展

    一、給advice傳遞參數(shù)

    【a】方式一:在通知注解里寫參數(shù),通過&& args(參數(shù)名,..)傳入?yún)?shù),該參數(shù)可以是自己定義的類型,也可以為String等類型。(通常獲取參數(shù),進行一些判斷或者日志的記錄)

    https://img1.sycdn.imooc.com//5ced1b70000154bb09930112.jpg

    【a】方式二:切入點和通知分開寫的方式,在切入點注解里寫參數(shù),在通知注解里引用切入點注解的方法名。

    https://img1.sycdn.imooc.com//5ced1b79000140cb10060168.jpg【b】運行時,生效的一個注解,這兩個注解修飾在方法上,在通知注解里通過&& @annotation(運行時注解修飾的方法名,首字母小寫),如果某個方法使用了運行時注解,則一定會給value()附一個值,在通知方法里可以通過方法參數(shù),調(diào)用該方法得到該值(一般記錄該注解用了哪些方法,或者用在判斷該方法上是否加了某注解,后者判斷獲取到的值是哪值)

    https://img1.sycdn.imooc.com//5ced1caf0001417110610249.jpg

    查看全部
    0 采集 收起 來源:Advice擴展

    2019-05-28

  • Spring的設(shè)值注入

    查看全部
    0 采集 收起 來源:Spring注入方式

    2019-05-28

  • Spring的注入

    查看全部
    0 采集 收起 來源:Spring注入方式

    2019-05-28

  • Advice定義及實例(AspectJ中advice的定義)

    一、Before advice:對于切面類使用@Aspect修飾類,相當(dāng)于<aop:aspect>配置,在方法上添加@Before(“execution(* com.imooc.aop.aspectj.biz.*Biz.*(..))”),相當(dāng)于<aop:before>標(biāo)簽,@Component修飾類,省略了配置<bean>標(biāo)簽。

    案例(前置通知):

    步驟1:業(yè)務(wù)方法


    public class MoocBiz {

    public void print(){

    System.out.println("業(yè)務(wù)方法執(zhí)行了");

    }

    }



    步驟2:切面方法


    @Aspect

    public class MoocAspect {

    @Before("execution(* *Biz.*(..))")

    public void beforeAdvice(){

    System.out.println("前置通知方法執(zhí)行了");

    }

    }



    XML配置:


    <?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:context="http://www.springframework.org/schema/context"

    xmlns:aop="http://www.springframework.org/schema/aop"

    xsi:schemaLocation="http://www.springframework.org/schema/beans?

    ? ? ? ? http://www.springframework.org/schema/beans/spring-beans.xsd ?

    ? ? ? ? http://www.springframework.org/schema/context

    ? ? ? ? http://www.springframework.org/schema/context/spring-context.xsd

    ? ? ? ? http://www.springframework.org/schema/aop?

    ? ? ? ? http://www.springframework.org/schema/aop/spring-aop.xsd">

    <context:component-scan base-package="src"></context:component-scan>

    <bean id="moocBiz" class="MoocBiz"></bean>

    <bean id="moocAspect" class="MoocAspect"></bean>

    <aop:aspectj-autoproxy></aop:aspectj-autoproxy>

    </beans>



    測試:

    @Test

    public void testMooc(){

    ApplicationContext ac=new ClassPathXmlApplicationContext("spring-ioc2.xml");

    MoocBiz mb=(MoocBiz) ac.getBean("moocBiz");

    mb.print();

    }


    結(jié)果:

    前置通知方法執(zhí)行了

    業(yè)務(wù)方法執(zhí)行了

    可以定義共享的pointcut(一個方法上使用@Pointcut("execution(* com.imooc.aop.aspectj.biz.*Biz.*(..))"),然后@Before("pointcut()")修飾另一個方法上


    @Aspect

    public class MoocAspect {

    @Pointcut("execution(* *Biz.*(..))")

    public void pointcut(){

    }

    @Before("pointcut()")

    public void beforeAdvice(){

    System.out.println("前置通知方法執(zhí)行了");

    }

    }



    https://img4.sycdn.imooc.com/5ceceb06000199be09370596.jpg

    二、After returning advice

    和前置通知相似。

    https://img3.sycdn.imooc.com/5cecf2da0001e28509980222.jpg

    有時候需要在通知體內(nèi)得到返回的實際值,可以使用@AfterReturning綁定返回值的形式,如果知道返回值類型可以寫類型,如果不知道,可以寫Object。

    https://img3.sycdn.imooc.com/5cecf3210001f25b09580253.jpg后置通知案例:


    public class MoocBiz {

    public void print(){

    System.out.println("業(yè)務(wù)方法執(zhí)行了");

    }

    }

    @Aspect

    public class MoocAspect {

    @Pointcut("execution(* *Biz.*(..))")

    public void pointcut(){

    }

    @Before("pointcut()")

    public void beforeAdvice(){

    System.out.println("前置通知方法執(zhí)行了");

    }

    @AfterReturning(pointcut="pointcut()",returning="o")

    public void afterAdvice(Object o){

    System.out.println("AfterReturning:"+o);

    }

    }

    <context:component-scan base-package="src"></context:component-scan>

    <bean id="moocBiz" class="MoocBiz"></bean>

    <bean id="moocAspect" class="MoocAspect"></bean>

    <aop:aspectj-autoproxy></aop:aspectj-autoproxy>

    結(jié)果:

    前置通知方法執(zhí)行了

    業(yè)務(wù)方法執(zhí)行了

    AfterReturning:null

    三、After throwing advice

    https://img1.sycdn.imooc.com/5cecf56b00011f4c08530198.jpg

    有時候需要在通知體內(nèi)得到異常的實際值,可以使用@AfterReturning綁定返回值的形式

    https://img4.sycdn.imooc.com/5cecf5730001edd108440251.jpg

    案例:

    @AfterThrowing(pointcut="pointcut()",throwing="t")

    public void afterThrowAdvice(RuntimeException t){

    System.out.println("異常:"+t.getMessage());

    }

    public class MoocBiz {

    public void print(){

    System.out.println("業(yè)務(wù)方法執(zhí)行了");

    throw new RuntimeException("運行時異常");

    }

    }

    結(jié)果:

    前置通知方法執(zhí)行了

    業(yè)務(wù)方法執(zhí)行了

    異常:運行時異常

    四、After(finally)advice

    最終通知必須準(zhǔn)備處理正常和異常兩種返回情況,它通常用于釋放資源。(類似于try-catch中finally的功能)

    https://img1.sycdn.imooc.com/5cecf75c0001be0408050295.jpg


    @After("pointcut()")

    public void afterAdvice(){

    System.out.println("后置通知執(zhí)行了");

    }


    前置通知方法執(zhí)行了

    業(yè)務(wù)方法執(zhí)行了

    后置通知執(zhí)行了

    異常:運行時異常

    五、環(huán)繞通知(Around Advice)

    1、環(huán)繞通知使用@Around注解來聲明,通知方法的第一個參數(shù)必須是ProceedingJoinPoint類型

    2、在通知方法內(nèi)部會調(diào)用ProceedingJoinPoint的proceed()方法會導(dǎo)致執(zhí)行真正的方法,同時可以傳入一個Object[]對象,數(shù)組中的值將被作為參數(shù)傳遞給方法。

    案例:

    @Around("pointcut()")

    public Object aroundAdvice(ProceedingJoinPoint pjp) throws Throwable{

    System.out.println("環(huán)繞前置通知方法執(zhí)行了========");

    Object o=pjp.proceed();

    System.out.println("環(huán)繞后置通知方法執(zhí)行了========");

    return o;

    }

    結(jié)果:

    環(huán)繞前置通知方法執(zhí)行了========

    前置通知方法執(zhí)行了

    業(yè)務(wù)方法執(zhí)行了

    環(huán)繞后置通知方法執(zhí)行了========

    后置通知執(zhí)行了

    AfterReturning:null



    查看全部
  • Bean容器初始化

    查看全部
    0 采集 收起 來源:IOC及Bean容器

    2019-05-28

  • Bean容器初始化

    查看全部
    0 采集 收起 來源:IOC及Bean容器

    2019-05-28

  • 單元測試類的

    查看全部
    0 采集 收起 來源:IOC及Bean容器

    2019-05-28

  • Spring的Bean配置

    查看全部
    0 采集 收起 來源:IOC及Bean容器

    2019-05-28

  • IOC的擴展理解

    查看全部
    0 采集 收起 來源:IOC及Bean容器

    2019-05-28

  • 什么是IOC?

    查看全部
    0 采集 收起 來源:IOC及Bean容器

    2019-05-28

  • 面向接口編程

    查看全部
    0 采集 收起 來源:IOC及Bean容器

    2019-05-28

舉報

0/150
提交
取消
課程須知
Java的高級課程,適合對Java基礎(chǔ)知識應(yīng)用自如,并熟悉MVC架構(gòu)的小伙伴們。如果想成為一名Java工程師,這門課程是一定要學(xué)噠。
老師告訴你能學(xué)到什么?
掌握依賴注入、IOC和AOP的概念,并能進行簡單應(yīng)用。

微信掃碼,參與3人拼團

微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復(fù)購買,感謝您對慕課網(wǎng)的支持!