Java Code Examples for org.springframework.beans.factory.support.AbstractBeanDefinition#setAttribute()
The following examples show how to use
org.springframework.beans.factory.support.AbstractBeanDefinition#setAttribute() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: MulCommonBaseServiceParser.java From zxl with Apache License 2.0 | 6 votes |
private BeanDefinition buildSessionFactoryBeanDefinition(Element element, String name, BeanDefinitionParserDelegate beanDefinitionParserDelegate, BeanDefinitionRegistry beanDefinitionRegistry) { AbstractBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setAttribute(ID_ATTRIBUTE, name + SESSION_FACTORY_SUFFIX); beanDefinition.setBeanClass(LocalSessionFactoryBean.class); beanDefinition.setParentName(SESSION_FACTORY_PARENT_BEAN_NAME); MutablePropertyValues propertyValues = new MutablePropertyValues(); propertyValues.add("dataSource", new RuntimeBeanReference(name + DATA_SOURCE_SUFFIX)); if (element.hasAttribute(TABLE_PREFIX_NAME) && !StringUtil.isEmpty(element.getAttribute(TABLE_PREFIX_NAME))) { AbstractBeanDefinition namingStrategyBeanDefinition = new GenericBeanDefinition(); String randomBeanName = UUID.randomUUID().toString(); namingStrategyBeanDefinition.setAttribute(ID_ATTRIBUTE, randomBeanName); namingStrategyBeanDefinition.setBeanClass(HibernateNamingStrategy.class); MutablePropertyValues mutablePropertyValues = new MutablePropertyValues(); mutablePropertyValues.add("prefix", element.getAttribute(TABLE_PREFIX_NAME)); namingStrategyBeanDefinition.setPropertyValues(mutablePropertyValues); beanDefinitionRegistry.registerBeanDefinition(randomBeanName, namingStrategyBeanDefinition); propertyValues.addPropertyValue("namingStrategy", new RuntimeBeanReference(randomBeanName)); } beanDefinition.setPropertyValues(propertyValues); beanDefinitionParserDelegate.parsePropertyElements(element, beanDefinition); return beanDefinition; }
Example 2
Source File: FeignClientsRegistrar.java From spring-cloud-openfeign with Apache License 2.0 | 5 votes |
private void registerFeignClient(BeanDefinitionRegistry registry, AnnotationMetadata annotationMetadata, Map<String, Object> attributes) { String className = annotationMetadata.getClassName(); BeanDefinitionBuilder definition = BeanDefinitionBuilder .genericBeanDefinition(FeignClientFactoryBean.class); validate(attributes); definition.addPropertyValue("url", getUrl(attributes)); definition.addPropertyValue("path", getPath(attributes)); String name = getName(attributes); definition.addPropertyValue("name", name); String contextId = getContextId(attributes); definition.addPropertyValue("contextId", contextId); definition.addPropertyValue("type", className); definition.addPropertyValue("decode404", attributes.get("decode404")); definition.addPropertyValue("fallback", attributes.get("fallback")); definition.addPropertyValue("fallbackFactory", attributes.get("fallbackFactory")); definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE); String alias = contextId + "FeignClient"; AbstractBeanDefinition beanDefinition = definition.getBeanDefinition(); beanDefinition.setAttribute(FactoryBean.OBJECT_TYPE_ATTRIBUTE, className); // has a default, won't be null boolean primary = (Boolean) attributes.get("primary"); beanDefinition.setPrimary(primary); String qualifier = getQualifier(attributes); if (StringUtils.hasText(qualifier)) { alias = qualifier; } BeanDefinitionHolder holder = new BeanDefinitionHolder(beanDefinition, className, new String[] { alias }); BeanDefinitionReaderUtils.registerBeanDefinition(holder, registry); }
Example 3
Source File: NativeQueryBeanDefinition.java From spring-native-query with MIT License | 5 votes |
static AbstractBeanDefinition of(Class<? extends NativeQuery> classe, Object source) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(classe.getName()); builder.getRawBeanDefinition().setSource(source); builder.setLazyInit(false); builder.setScope(BeanDefinition.SCOPE_SINGLETON); AbstractBeanDefinition beanDefinition = builder.getBeanDefinition(); beanDefinition.setInstanceSupplier(() -> source); beanDefinition.setAttribute("factoryBeanObjectType", classe.getName()); return beanDefinition; }
Example 4
Source File: ConfigurationBeanBindingPostProcessor.java From spring-context-support with Apache License 2.0 | 5 votes |
static void initBeanMetadataAttributes(AbstractBeanDefinition beanDefinition, Map<String, Object> configurationProperties, boolean ignoreUnknownFields, boolean ignoreInvalidFields) { beanDefinition.setAttribute(CONFIGURATION_PROPERTIES_ATTRIBUTE_NAME, configurationProperties); beanDefinition.setAttribute(IGNORE_UNKNOWN_FIELDS_ATTRIBUTE_NAME, ignoreUnknownFields); beanDefinition.setAttribute(IGNORE_INVALID_FIELDS_ATTRIBUTE_NAME, ignoreInvalidFields); }
Example 5
Source File: MulCommonBaseServiceParser.java From zxl with Apache License 2.0 | 5 votes |
@Override protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) { if (StringUtil.isEmpty(element.getAttribute(NAME_ATTRIBUTE))) { parserContext.getReaderContext().error("CommonBaseService must have name attribute", element); } AbstractBeanDefinition beanDefinition = builder.getBeanDefinition(); BeanDefinitionRegistry beanDefinitionRegistry = parserContext.getRegistry(); BeanDefinitionParserDelegate delegate = parserContext.getDelegate(); String name = element.getAttribute(NAME_ATTRIBUTE); beanDefinition.setAttribute(ID_ATTRIBUTE, name + COMMON_BASE_SERVICE_SUFFIX); beanDefinition.setBeanClassName(CLASS_NAME); beanDefinitionRegistry.registerBeanDefinition(name + DATA_SOURCE_SUFFIX, buildDataSourceBeanDefinition(element, name)); beanDefinitionRegistry.registerBeanDefinition(name + SQL_SESSION_FACTORY_SUFFIX, buildSqlSessionFactoryBeanDefinition(element, name)); beanDefinitionRegistry.registerBeanDefinition(name + SESSION_FACTORY_SUFFIX, buildSessionFactoryBeanDefinition(element, name, parserContext.getDelegate(), beanDefinitionRegistry)); beanDefinitionRegistry.registerBeanDefinition(name + SQL_SESSION_TEMPLATE_SUFFIX, buildSqlSessionTemplateBeanDefinition(element, name)); beanDefinitionRegistry.registerBeanDefinition(name + COMMON_BASE_DAO_SUFFIX, buildCommonBaseDaoBeanDefinition(element, name)); builder.addPropertyReference(COMMON_BASE_DAO_FIELD_NAME, name + COMMON_BASE_DAO_SUFFIX); element.setAttribute(ID_ATTRIBUTE, name + COMMON_BASE_SERVICE_SUFFIX); List<String> expressionList = buildExpressionList(element, delegate); if (expressionList.size() > 0) { beanDefinitionRegistry.registerBeanDefinition(name + HIBERNATE_TRANSACTION_MANAGER_SUFFIX, buildHibernateTransactionManagerBeanDefinition(element, name)); beanDefinitionRegistry.registerBeanDefinition(name + TRANSACTION_ATTRIBUTE_SOURCE_SUFFIX, buildTransactionAttributeSourceBeanDefinition()); beanDefinitionRegistry.registerBeanDefinition(name + HIBERNATE_ADVICE_SUFFIX, buildHibernateAdviceBeanDefinition(element, name)); buildPointcutAndAdvisorBeanDefinition(name, expressionList, parserContext, beanDefinitionRegistry); } }
Example 6
Source File: MulCommonBaseServiceParser.java From zxl with Apache License 2.0 | 5 votes |
private BeanDefinition buildDataSourceBeanDefinition(Element element, String name) { AbstractBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setAttribute(ID_ATTRIBUTE, name + DATA_SOURCE_SUFFIX); beanDefinition.setBeanClass(SimpleDataSource.class); MutablePropertyValues propertyValues = new MutablePropertyValues(); propertyValues.add("name", name); beanDefinition.setPropertyValues(propertyValues); return beanDefinition; }
Example 7
Source File: MulCommonBaseServiceParser.java From zxl with Apache License 2.0 | 5 votes |
private BeanDefinition buildSqlSessionFactoryBeanDefinition(Element element, String name) { AbstractBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setAttribute(ID_ATTRIBUTE, name + SQL_SESSION_FACTORY_SUFFIX); beanDefinition.setBeanClass(SqlSessionFactoryBean.class); beanDefinition.setParentName(SQL_SESSION_FACTORY_PARENT_BEAN_NAME); MutablePropertyValues propertyValues = new MutablePropertyValues(); propertyValues.add("dataSource", new RuntimeBeanReference(name + DATA_SOURCE_SUFFIX)); propertyValues.add("mapperLocations", MAPPER_LOCATIONS_PREFIX + name + MAPPER_LOCATIONS_SUFFIX); beanDefinition.setPropertyValues(propertyValues); return beanDefinition; }
Example 8
Source File: MulCommonBaseServiceParser.java From zxl with Apache License 2.0 | 5 votes |
private BeanDefinition buildSqlSessionTemplateBeanDefinition(Element element, String name) { AbstractBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setAttribute(ID_ATTRIBUTE, name + SQL_SESSION_TEMPLATE_SUFFIX); beanDefinition.setBeanClass(SqlSessionTemplate.class); ConstructorArgumentValues constructorArgumentValues = new ConstructorArgumentValues(); constructorArgumentValues.addIndexedArgumentValue(0, new RuntimeBeanReference(name + SQL_SESSION_FACTORY_SUFFIX)); beanDefinition.setConstructorArgumentValues(constructorArgumentValues); return beanDefinition; }
Example 9
Source File: MulCommonBaseServiceParser.java From zxl with Apache License 2.0 | 5 votes |
private BeanDefinition buildCommonBaseDaoBeanDefinition(Element element, String name) { AbstractBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setAttribute(ID_ATTRIBUTE, name + COMMON_BASE_DAO_SUFFIX); beanDefinition.setBeanClass(COMMON_BASE_DAO_CLASS); MutablePropertyValues propertyValues = new MutablePropertyValues(); propertyValues.add("sessionFactory", new RuntimeBeanReference(name + SESSION_FACTORY_SUFFIX)); propertyValues.add("sqlSessionTemplate", new RuntimeBeanReference(name + SQL_SESSION_TEMPLATE_SUFFIX)); propertyValues.add("tablePrefix", element.getAttribute(TABLE_PREFIX_NAME)); beanDefinition.setPropertyValues(propertyValues); return beanDefinition; }
Example 10
Source File: MulCommonBaseServiceParser.java From zxl with Apache License 2.0 | 5 votes |
private BeanDefinition buildHibernateTransactionManagerBeanDefinition(Element element, String name) { AbstractBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setAttribute(ID_ATTRIBUTE, name + HIBERNATE_TRANSACTION_MANAGER_SUFFIX); beanDefinition.setBeanClass(HibernateTransactionManager.class); MutablePropertyValues propertyValues = new MutablePropertyValues(); propertyValues.add("sessionFactory", new RuntimeBeanReference(name + SESSION_FACTORY_SUFFIX)); beanDefinition.setPropertyValues(propertyValues); return beanDefinition; }
Example 11
Source File: MulCommonBaseServiceParser.java From zxl with Apache License 2.0 | 5 votes |
private BeanDefinition buildHibernateAdviceBeanDefinition(Element element, String name) { AbstractBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setAttribute(ID_ATTRIBUTE, name + HIBERNATE_ADVICE_SUFFIX); beanDefinition.setBeanClass(TransactionInterceptor.class); MutablePropertyValues propertyValues = new MutablePropertyValues(); propertyValues.add("transactionManager", new RuntimeBeanReference(name + HIBERNATE_TRANSACTION_MANAGER_SUFFIX)); propertyValues.add("transactionAttributeSource", new RuntimeBeanReference(name + TRANSACTION_ATTRIBUTE_SOURCE_SUFFIX)); beanDefinition.setPropertyValues(propertyValues); return beanDefinition; }