Example usage for org.springframework.context.support ClassPathXmlApplicationContext getBean

List of usage examples for org.springframework.context.support ClassPathXmlApplicationContext getBean

Introduction

In this page you can find the example usage for org.springframework.context.support ClassPathXmlApplicationContext getBean.

Prototype

@Override
    public Object getBean(String name) throws BeansException 

Source Link

Usage

From source file:org.springframework.aop.aspectj.autoproxy.AspectJAutoProxyCreatorTests.java

@Test
public void testAspectsAreApplied() {
    ClassPathXmlApplicationContext bf = newContext("aspects.xml");
    ITestBean tb = (ITestBean) bf.getBean("adrian");
    assertEquals(68, tb.getAge());/*from  w  w  w  . j av a2s .  com*/
    MethodInvokingFactoryBean factoryBean = (MethodInvokingFactoryBean) bf.getBean("&factoryBean");
    assertTrue(AopUtils.isAopProxy(factoryBean.getTargetObject()));
    assertEquals(68, ((ITestBean) factoryBean.getTargetObject()).getAge());
}

From source file:org.springframework.aop.aspectj.autoproxy.AspectJAutoProxyCreatorTests.java

@Test
public void testMultipleAspectsWithParameterApplied() {
    ClassPathXmlApplicationContext bf = newContext("aspects.xml");
    ITestBean tb = (ITestBean) bf.getBean("adrian");
    tb.setAge(10);//from  www.  ja v  a2s . c  om
    assertEquals(20, tb.getAge());
}

From source file:org.springframework.aop.aspectj.autoproxy.AspectJAutoProxyCreatorTests.java

@Test
public void testAspectsAreAppliedInDefinedOrder() {
    ClassPathXmlApplicationContext bf = newContext("aspectsWithOrdering.xml");
    ITestBean tb = (ITestBean) bf.getBean("adrian");
    assertEquals(71, tb.getAge());/*from w ww .j a  v a  2 s .  c  om*/
}

From source file:org.springframework.aop.aspectj.autoproxy.AspectJAutoProxyCreatorTests.java

@Test
public void testAspectsAndAdvisorAreApplied() {
    ClassPathXmlApplicationContext ac = newContext("aspectsPlusAdvisor.xml");
    ITestBean shouldBeWeaved = (ITestBean) ac.getBean("adrian");
    doTestAspectsAndAdvisorAreApplied(ac, shouldBeWeaved);
}

From source file:org.springframework.aop.aspectj.autoproxy.AspectJAutoProxyCreatorTests.java

@Test
public void testAspectsAndAdvisorAppliedToPrototypeIsFastEnough() {
    Assume.group(TestGroup.PERFORMANCE);
    Assume.notLogging(factoryLog);// ww w . j a v  a2 s  . com
    ClassPathXmlApplicationContext ac = newContext("aspectsPlusAdvisor.xml");
    StopWatch sw = new StopWatch();
    sw.start("Prototype Creation");
    for (int i = 0; i < 10000; i++) {
        ITestBean shouldBeWeaved = (ITestBean) ac.getBean("adrian2");
        if (i < 10) {
            doTestAspectsAndAdvisorAreApplied(ac, shouldBeWeaved);
        }
    }
    sw.stop();

    // What's a reasonable expectation for _any_ server or developer machine load?
    // 9 seconds?
    assertStopWatchTimeLimit(sw, 9000);
}

From source file:org.springframework.aop.aspectj.autoproxy.AspectJAutoProxyCreatorTests.java

@Test
public void testAspectsAndAdvisorNotAppliedToPrototypeIsFastEnough() {
    Assume.group(TestGroup.PERFORMANCE);
    Assume.notLogging(factoryLog);/*from  w  w  w.j a va2s . c  o m*/
    ClassPathXmlApplicationContext ac = newContext("aspectsPlusAdvisor.xml");
    StopWatch sw = new StopWatch();
    sw.start("Prototype Creation");
    for (int i = 0; i < 100000; i++) {
        INestedTestBean shouldNotBeWeaved = (INestedTestBean) ac.getBean("i21");
        if (i < 10) {
            assertFalse(AopUtils.isAopProxy(shouldNotBeWeaved));
        }
    }
    sw.stop();

    // What's a reasonable expectation for _any_ server or developer machine load?
    // 3 seconds?
    assertStopWatchTimeLimit(sw, 6000);
}

From source file:org.springframework.aop.aspectj.autoproxy.AspectJAutoProxyCreatorTests.java

@Test
public void testPerThisAspect() {
    ClassPathXmlApplicationContext bf = newContext("perthis.xml");

    ITestBean adrian1 = (ITestBean) bf.getBean("adrian");
    assertTrue(AopUtils.isAopProxy(adrian1));

    assertEquals(0, adrian1.getAge());/* w  w w .ja  v a  2s .  c o m*/
    assertEquals(1, adrian1.getAge());

    ITestBean adrian2 = (ITestBean) bf.getBean("adrian");
    assertNotSame(adrian1, adrian2);
    assertTrue(AopUtils.isAopProxy(adrian1));
    assertEquals(0, adrian2.getAge());
    assertEquals(1, adrian2.getAge());
    assertEquals(2, adrian2.getAge());
    assertEquals(3, adrian2.getAge());
    assertEquals(2, adrian1.getAge());
}

From source file:org.springframework.aop.aspectj.autoproxy.AspectJAutoProxyCreatorTests.java

@Test
public void testPerTargetAspect() throws SecurityException, NoSuchMethodException {
    ClassPathXmlApplicationContext bf = newContext("pertarget.xml");

    ITestBean adrian1 = (ITestBean) bf.getBean("adrian");
    assertTrue(AopUtils.isAopProxy(adrian1));

    // Does not trigger advice or count
    int explicitlySetAge = 25;
    adrian1.setAge(explicitlySetAge);/*from  w  w w  .  jav  a 2  s.  co  m*/

    assertEquals("Setter does not initiate advice", explicitlySetAge, adrian1.getAge());
    // Fire aspect

    AspectMetadata am = new AspectMetadata(PerTargetAspect.class, "someBean");
    assertTrue(
            am.getPerClausePointcut().getMethodMatcher().matches(TestBean.class.getMethod("getSpouse"), null));

    adrian1.getSpouse();

    assertEquals("Advice has now been instantiated", 0, adrian1.getAge());
    adrian1.setAge(11);
    assertEquals("Any int setter increments", 2, adrian1.getAge());
    adrian1.setName("Adrian");
    //assertEquals("Any other setter does not increment", 2, adrian1.getAge());

    ITestBean adrian2 = (ITestBean) bf.getBean("adrian");
    assertNotSame(adrian1, adrian2);
    assertTrue(AopUtils.isAopProxy(adrian1));
    assertEquals(34, adrian2.getAge());
    adrian2.getSpouse();
    assertEquals("Aspect now fired", 0, adrian2.getAge());
    assertEquals(1, adrian2.getAge());
    assertEquals(2, adrian2.getAge());
    assertEquals(3, adrian1.getAge());
}

From source file:org.springframework.aop.aspectj.autoproxy.AspectJAutoProxyCreatorTests.java

private void doTestTwoAdviceAspectWith(String location) {
    ClassPathXmlApplicationContext bf = newContext(location);

    boolean aspectSingleton = bf.isSingleton("aspect");
    ITestBean adrian1 = (ITestBean) bf.getBean("adrian");
    testPrototype(adrian1, 0);/*from www. j  a v  a2  s. c  o m*/
    ITestBean adrian2 = (ITestBean) bf.getBean("adrian");
    assertNotSame(adrian1, adrian2);
    testPrototype(adrian2, aspectSingleton ? 2 : 0);
}

From source file:org.springframework.aop.aspectj.autoproxy.AspectJAutoProxyCreatorTests.java

@Test
public void testAdviceUsingJoinPoint() {
    ClassPathXmlApplicationContext bf = newContext("usesJoinPointAspect.xml");

    ITestBean adrian1 = (ITestBean) bf.getBean("adrian");
    adrian1.getAge();/*from   w  ww.  j  a va  2  s. c o m*/
    AdviceUsingThisJoinPoint aspectInstance = (AdviceUsingThisJoinPoint) bf.getBean("aspect");
    //(AdviceUsingThisJoinPoint) Aspects.aspectOf(AdviceUsingThisJoinPoint.class);
    //assertEquals("method-execution(int TestBean.getAge())",aspectInstance.getLastMethodEntered());
    assertTrue(aspectInstance.getLastMethodEntered().indexOf("TestBean.getAge())") != 0);
}