List of usage examples for org.springframework.beans.factory.support GenericBeanDefinition setBeanClass
public void setBeanClass(@Nullable Class<?> beanClass)
From source file:guru.qas.martini.annotation.StepsAnnotationProcessorTest.java
@Test(expectedExceptions = FatalBeanException.class) public void testNonSingletonSteps() { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("emptyContext.xml"); ConfigurableListableBeanFactory factory = context.getBeanFactory(); GenericBeanDefinition definition = new GenericBeanDefinition(); definition.setBeanClass(DuplicateGivenBeanA.class); definition.setLazyInit(false);/*from w w w . j a va 2s. co m*/ definition.setScope("prototype"); BeanDefinitionRegistry registry = BeanDefinitionRegistry.class.cast(factory); registry.registerBeanDefinition(DuplicateGivenBeanA.class.getName(), definition); process(context, new DuplicateGivenBeanA()); }
From source file:darks.orm.spring.MapperClassDefinitionScanner.java
private void processBeanDefinition(GenericBeanDefinition definition) { definition.getPropertyValues().add("sqlMapInterface", definition.getBeanClassName()); definition.setBeanClass(SqlMapFactoryBean.class); definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE); }
From source file:com.dianping.zebra.monitor.spring.DataSourceAutoMonitor.java
private BeanDefinition createMonitorableBeanDefinition(String beanName, BeanDefinition dataSourceDefinition) { if (MonitorableDataSource.class.getName().equals(dataSourceDefinition.getBeanClassName()) || GroupDataSource.class.getName().equals(dataSourceDefinition.getBeanClassName())) { return dataSourceDefinition; }/*from w w w . ja v a 2s . c o m*/ String newBeanName = String.format("%s-z%d", beanName, nameId++); listableBeanFactory.registerBeanDefinition(newBeanName, dataSourceDefinition); GenericBeanDefinition monitorableDataSourceDefinition = new GenericBeanDefinition(); monitorableDataSourceDefinition.setBeanClass(MonitorableDataSource.class); monitorableDataSourceDefinition.getConstructorArgumentValues() .addGenericArgumentValue(new RuntimeBeanReference(newBeanName)); return monitorableDataSourceDefinition; }
From source file:architecture.ee.spring.context.impl.ApplicationHelperImpl.java
@SuppressWarnings("rawtypes") protected void addComponent(String name, Class clazz) { GenericBeanDefinition bd = new GenericBeanDefinition(); bd.setBeanClass(clazz); getBeanFactory().registerSingleton(name, bd); }
From source file:org.codehaus.griffon.runtime.spring.GriffonApplicationContext.java
/** * Register a prototype bean with the underlying bean factory. * <p>For more advanced needs, register with the underlying BeanFactory directly. * @see #getDefaultListableBeanFactory//ww w.j av a2 s. co m */ public void registerPrototype(String name, Class clazz) throws BeansException { GenericBeanDefinition bd = new GenericBeanDefinition(); bd.setScope(GenericBeanDefinition.SCOPE_PROTOTYPE); bd.setBeanClass(clazz); getDefaultListableBeanFactory().registerBeanDefinition(name, bd); }
From source file:org.mybatis.spring.annotation.EnableMapperScanningTest.java
private void setupSqlSessionFactory(String name) { GenericBeanDefinition definition = new GenericBeanDefinition(); definition.setBeanClass(SqlSessionFactoryBean.class); definition.getPropertyValues().add("dataSource", new MockDataSource()); applicationContext.registerBeanDefinition(name, definition); }
From source file:org.codehaus.griffon.runtime.spring.GriffonApplicationContext.java
/** * Register a prototype bean with the underlying bean factory. * <p>For more advanced needs, register with the underlying BeanFactory directly. * @see #getDefaultListableBeanFactory//from www . j av a 2 s . c o m */ public void registerPrototype(String name, Class clazz, MutablePropertyValues pvs) throws BeansException { GenericBeanDefinition bd = new GenericBeanDefinition(); bd.setScope(GenericBeanDefinition.SCOPE_PROTOTYPE); bd.setBeanClass(clazz); bd.setPropertyValues(pvs); getDefaultListableBeanFactory().registerBeanDefinition(name, bd); }
From source file:org.mybatis.spring.annotation.EnableMapperScanningTest.java
@Test public void testScanWithNameConflict() { GenericBeanDefinition definition = new GenericBeanDefinition(); definition.setBeanClass(Object.class); applicationContext.registerBeanDefinition("mapperInterface", definition); applicationContext.register(AppConfigWithPackageScan.class); startContext();/* ww w .ja v a 2s . c om*/ assertSame("scanner should not overwite existing bean definition", applicationContext.getBean("mapperInterface").getClass(), Object.class); }
From source file:org.mybatis.spring.annotation.EnableMapperScanningTest.java
@Test public void testScanWithExplicitSqlSessionTemplate() throws Exception { GenericBeanDefinition definition = new GenericBeanDefinition(); definition.setBeanClass(SqlSessionTemplate.class); ConstructorArgumentValues constructorArgs = new ConstructorArgumentValues(); constructorArgs.addGenericArgumentValue(new RuntimeBeanReference("sqlSessionFactory")); definition.setConstructorArgumentValues(constructorArgs); applicationContext.registerBeanDefinition("sqlSessionTemplate", definition); applicationContext.register(AppConfigWithSqlSessionTemplate.class); startContext();//from ww w .java 2s. co m // all interfaces with methods should be loaded applicationContext.getBean("mapperInterface"); applicationContext.getBean("mapperSubinterface"); applicationContext.getBean("mapperChildInterface"); applicationContext.getBean("annotatedMapper"); }
From source file:com.fitbur.jestify.junit.spring.IntegrationTestReifier.java
@Override public Object reifyCut(CutDescriptor cutDescriptor, Object[] arguments) { return AccessController.doPrivileged((PrivilegedAction<Object>) () -> { try {/*from w w w.ja va2 s. c o m*/ Cut cut = cutDescriptor.getCut(); Field field = cutDescriptor.getField(); Type fieldType = field.getGenericType(); String fieldName = field.getName(); field.setAccessible(true); Constructor<?> constructor = cutDescriptor.getConstructor(); constructor.setAccessible(true); ResolvableType resolver = ResolvableType.forType(fieldType); Class rawType; if (resolver.hasGenerics()) { if (resolver.isAssignableFrom(Provider.class) || resolver.isAssignableFrom(Optional.class)) { rawType = resolver.getRawClass(); } else { rawType = resolver.resolve(); } } else { rawType = resolver.resolve(); } Module module = testInstance.getClass().getDeclaredAnnotation(Module.class); GenericBeanDefinition bean = new GenericBeanDefinition(); bean.setBeanClass(rawType); bean.setAutowireCandidate(false); bean.setScope(SCOPE_PROTOTYPE); bean.setPrimary(true); bean.setLazyInit(true); bean.setRole(RootBeanDefinition.ROLE_APPLICATION); bean.setAutowireMode(RootBeanDefinition.AUTOWIRE_NO); appContext.registerBeanDefinition(fieldName, bean); if (module != null) { appContext.register(module.value()); } appContext.refresh(); Object instance = appContext.getBean(fieldName, arguments); if (cut.value()) { instance = spy(instance); } field.set(testInstance, instance); return instance; } catch (SecurityException | IllegalAccessException | IllegalArgumentException e) { throw new RuntimeException(e); } }); }