Example usage for org.springframework.aop.framework ProxyFactoryBean setInterceptorNames

List of usage examples for org.springframework.aop.framework ProxyFactoryBean setInterceptorNames

Introduction

In this page you can find the example usage for org.springframework.aop.framework ProxyFactoryBean setInterceptorNames.

Prototype

public void setInterceptorNames(String... interceptorNames) 

Source Link

Document

Set the list of Advice/Advisor bean names.

Usage

From source file:coreexample.BaseAppConfig.java

@Bean
public ProxyFactoryBean genericDao() {
    ProxyFactoryBean proxy = new ProxyFactoryBean();
    proxy.setTarget(new HibernateDao<Object>());
    proxy.setInterceptorNames(new String[] { "appDetailsBaseAdvice" });
    return proxy;
}

From source file:example.HibernateAppConfig.java

@Bean
public ProxyFactoryBean genericDao() {
    HibernateDao<Object> hibernateDao = new HibernateDao<Object>();
    hibernateDao.setSessionFactory(sessionFactory().getObject());

    ProxyFactoryBean proxy = new ProxyFactoryBean();
    proxy.setTarget(hibernateDao);//from  w  w w  . j a v  a 2 s. c  om
    proxy.setInterceptorNames(new String[] { "appDetailsBaseAdvice" });
    return proxy;
}

From source file:example.JpaAppConfig.java

@Bean
public ProxyFactoryBean genericDao() {
    JpaDao<Object> jpaDao = new JpaDao<Object>();
    jpaDao.setEntityManagerFactory(entityManagerFactory().getObject());

    ProxyFactoryBean proxy = new ProxyFactoryBean();
    proxy.setTarget(jpaDao);// w w  w  .  j  av a 2s . c o  m
    proxy.setInterceptorNames(new String[] { "appDetailsBaseAdvice" });
    return proxy;
}

From source file:com.ivanzhangwb.interpose.core.InterposeBootStrap.java

@Override
public Object postProcessAfterInitialization(final Object bean, String beanName) throws BeansException {
    if (interposeClassPathApplicationContext == null) {
        interposeClassPathApplicationContext = new InterposeClassPathApplicationContext(
                this.applicationContext);
    }/*from   w w w  .j  a v a2  s . co  m*/
    boolean needInterpose = false;
    Class beanClass = bean.getClass();
    do {
        Method[] methods = beanClass.getDeclaredMethods();
        for (int i = 0; i < methods.length; i++) {
            if (Interpose.class != null && methods[i].isAnnotationPresent(Interpose.class)
                    && methods[i].equals(ClassUtils.getMostSpecificMethod(methods[i], bean.getClass()))) {
                needInterpose = true;
                handleMethodAnnotation(methods[i]);
            }
        }
        beanClass = beanClass.getSuperclass();
    } while (beanClass != null);

    if (needInterpose) {
        ConfigurableApplicationContext atx = (ConfigurableApplicationContext) interposeClassPathApplicationContext;
        DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory) atx.getBeanFactory();
        ProxyFactoryBean factoryBean = new ProxyFactoryBean();
        factoryBean.setTarget(bean);
        factoryBean.setInterceptorNames(new String[] { InterposeConstants.INTERPOSE_CORE_INTERCEPTOR });
        factoryBean.setBeanFactory(beanFactory);
        return factoryBean.getObject();
    } else {
        return bean;
    }
}