本文整理了Java中org.springframework.beans.factory.config.BeanDefinition.setPrimary()
方法的一些代码示例,展示了BeanDefinition.setPrimary()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。BeanDefinition.setPrimary()
方法的具体详情如下:
包路径:org.springframework.beans.factory.config.BeanDefinition
类名称:BeanDefinition
方法名:setPrimary
[英]Set whether this bean is a primary autowire candidate.
If this value is true for exactly one bean among multiple matching candidates, it will serve as a tie-breaker.
[中]设置此bean是否为主要autowire候选。
如果该值对于多个匹配候选项中的一个bean为真,那么它将充当平局破坏者。
代码示例来源:origin: spockframework/spock
@Override
protected void postProcessComponentDefinition(BeanComponentDefinition componentDefinition) {
super.postProcessComponentDefinition(componentDefinition);
componentDefinition.getBeanDefinition().setPrimary(true);
}
代码示例来源:origin: spring-projects/spring-framework
@Autowired
void register(GenericApplicationContext ctx) {
ctx.registerBean("spouse", TestBean.class,
() -> new TestBean("functional"));
Supplier<TestBean> testBeanSupplier = () -> new TestBean(ctx.getBean("spouse", TestBean.class));
ctx.registerBean(TestBean.class,
testBeanSupplier,
bd -> bd.setPrimary(true));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void byTypeAutowireWithPrimaryInParentFactory() throws Exception {
CountingFactory.reset();
DefaultListableBeanFactory parent = getBeanFactory("autowire-with-exclusion.xml");
parent.getBeanDefinition("props1").setPrimary(true);
parent.preInstantiateSingletons();
DefaultListableBeanFactory child = new DefaultListableBeanFactory(parent);
RootBeanDefinition robDef = new RootBeanDefinition(TestBean.class);
robDef.setAutowireMode(RootBeanDefinition.AUTOWIRE_BY_TYPE);
robDef.getPropertyValues().add("spouse", new RuntimeBeanReference("sally"));
child.registerBeanDefinition("rob2", robDef);
RootBeanDefinition propsDef = new RootBeanDefinition(PropertiesFactoryBean.class);
propsDef.getPropertyValues().add("properties", "name=props3");
child.registerBeanDefinition("props3", propsDef);
TestBean rob = (TestBean) child.getBean("rob2");
assertEquals("props1", rob.getSomeProperties().getProperty("name"));
assertEquals(1, CountingFactory.getFactoryBeanInstanceCount());
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void byTypeAutowireWithPrimaryInParentAndChild() throws Exception {
CountingFactory.reset();
DefaultListableBeanFactory parent = getBeanFactory("autowire-with-exclusion.xml");
parent.getBeanDefinition("props1").setPrimary(true);
parent.preInstantiateSingletons();
DefaultListableBeanFactory child = new DefaultListableBeanFactory(parent);
RootBeanDefinition robDef = new RootBeanDefinition(TestBean.class);
robDef.setAutowireMode(RootBeanDefinition.AUTOWIRE_BY_TYPE);
robDef.getPropertyValues().add("spouse", new RuntimeBeanReference("sally"));
child.registerBeanDefinition("rob2", robDef);
RootBeanDefinition propsDef = new RootBeanDefinition(PropertiesFactoryBean.class);
propsDef.getPropertyValues().add("properties", "name=props3");
propsDef.setPrimary(true);
child.registerBeanDefinition("props3", propsDef);
TestBean rob = (TestBean) child.getBean("rob2");
assertEquals("props3", rob.getSomeProperties().getProperty("name"));
assertEquals(1, CountingFactory.getFactoryBeanInstanceCount());
}
代码示例来源:origin: spring-projects/spring-framework
targetDefinition.setPrimary(false);
代码示例来源:origin: mulesoft/mule
private static BeanDefinition getPrimaryBeanDefinition(Class<?> beanType) {
BeanDefinition beanDefinition = getBeanDefinition(beanType);
beanDefinition.setPrimary(true);
return beanDefinition;
}
代码示例来源:origin: mulesoft/mule
beanDefinition.setPrimary(true);
代码示例来源:origin: org.springframework.boot/spring-boot-test-autoconfigure
private BeanDefinition createEmbeddedBeanDefinition(boolean primary) {
BeanDefinition beanDefinition = new RootBeanDefinition(
EmbeddedDataSourceFactoryBean.class);
beanDefinition.setPrimary(primary);
return beanDefinition;
}
代码示例来源:origin: io.leopard/leopard-schema
protected void initPrimaryBean(BeanDefinition definition) {
String className = definition.getBeanClassName();
if (className.endsWith("DaoCacheImpl")) {
// System.err.println("setPrimary className:" + className);
definition.setPrimary(true);
}
if (className.endsWith("ServiceTestImpl")) {
definition.setPrimary(true);
// System.out.println("className:" + className);
}
}
代码示例来源:origin: org.kubek2k/springockito-annotations
@Override
protected void postProcessComponentDefinition(BeanComponentDefinition componentDefinition) {
super.postProcessComponentDefinition(componentDefinition);
componentDefinition.getBeanDefinition().setPrimary(true);
}
}
代码示例来源:origin: org.kubek2k/springockito
@Override
protected void postProcessComponentDefinition(BeanComponentDefinition componentDefinition) {
super.postProcessComponentDefinition(componentDefinition);
componentDefinition.getBeanDefinition().setPrimary(true);
}
}
代码示例来源:origin: springockito/springockito
@Override
protected void postProcessComponentDefinition(BeanComponentDefinition componentDefinition) {
super.postProcessComponentDefinition(componentDefinition);
componentDefinition.getBeanDefinition().setPrimary(true);
}
}
代码示例来源:origin: top.wboost/datasource-spring-boot-starter
private void initConfig() {
List<TransactionManagerDto> transactionManagerDtos = new ArrayList<>();
transactionManagerPropertiesUse.forEach((datasource,props) -> {
transactionManagerDtos.addAll(initPlatformTransactionManager(props));
});
TransactionManagerDto primaryTransactionManager = null;
for(int i = 0;i<transactionManagerDtos.size();i++) {
TransactionManagerDto transactionManagerDto = transactionManagerDtos.get(i);
if (this.transactionManagerCustomizers != null) {
//this.transactionManagerCustomizers.customize(transactionManagerDto.platformTransactionManager);
}
if (primaryTransactionManager == null && transactionManagerDto.dsName.equals(GlobalForDataSourceBootStarter.PRIMARY_DATASOURCE_NAME) || transactionManagerDto.dsName.equals("primary")) {
primaryTransactionManager = transactionManagerDto;
}
}
if (primaryTransactionManager == null) {
primaryTransactionManager = transactionManagerDtos.get(0);
}
primaryTransactionManager.getBeanDefinition().setPrimary(true);
for(TransactionManagerDto transactionManagerDto : transactionManagerDtos) {
this.beanFactory.registerBeanDefinition(transactionManagerDto.beanName, transactionManagerDto.beanDefinition);
log.info("register transactionManager: {}, for datasource: {}", transactionManagerDto.beanName,
transactionManagerDto.dsName);
}
this.beanFactory.registerAlias( primaryTransactionManager.beanName, PRIMARYT_TRANSACTION_MANAGER);
log.info("alias primary transactionManager: {} for {}. datasource is {}", PRIMARYT_TRANSACTION_MANAGER,
primaryTransactionManager.beanName,primaryTransactionManager.dsName);
}
代码示例来源:origin: alipay/sofa-tracer
private void createDataSourceProxy(ConfigurableListableBeanFactory beanFactory,
String beanName, BeanDefinition originDataSource,
String jdbcUrl) {
// re-register origin datasource bean
BeanDefinitionRegistry beanDefinitionRegistry = (BeanDefinitionRegistry) beanFactory;
beanDefinitionRegistry.removeBeanDefinition(beanName);
boolean isPrimary = originDataSource.isPrimary();
originDataSource.setPrimary(false);
beanDefinitionRegistry.registerBeanDefinition(transformDatasourceBeanName(beanName),
originDataSource);
// register proxied datasource
RootBeanDefinition proxiedBeanDefinition = new RootBeanDefinition(SmartDataSource.class);
proxiedBeanDefinition.setRole(BeanDefinition.ROLE_APPLICATION);
proxiedBeanDefinition.setPrimary(isPrimary);
proxiedBeanDefinition.setInitMethodName("init");
proxiedBeanDefinition.setDependsOn(transformDatasourceBeanName(beanName));
MutablePropertyValues originValues = originDataSource.getPropertyValues();
MutablePropertyValues values = new MutablePropertyValues();
String appName = environment.getProperty(TRACER_APPNAME_KEY);
Assert.isTrue(!StringUtils.isBlank(appName), TRACER_APPNAME_KEY + " must be configured!");
values.add("appName", appName);
values.add("delegate", new RuntimeBeanReference(transformDatasourceBeanName(beanName)));
values.add("dbType",
DataSourceUtils.resolveDbTypeFromUrl(unwrapPropertyValue(originValues.get(jdbcUrl))));
values.add("database",
DataSourceUtils.resolveDatabaseFromUrl(unwrapPropertyValue(originValues.get(jdbcUrl))));
proxiedBeanDefinition.setPropertyValues(values);
beanDefinitionRegistry.registerBeanDefinition(beanName, proxiedBeanDefinition);
}
代码示例来源:origin: com.alipay.sofa/tracer-sofa-boot-starter
private void createDataSourceProxy(ConfigurableListableBeanFactory beanFactory,
String beanName, BeanDefinition originDataSource,
String jdbcUrl) {
// re-register origin datasource bean
BeanDefinitionRegistry beanDefinitionRegistry = (BeanDefinitionRegistry) beanFactory;
beanDefinitionRegistry.removeBeanDefinition(beanName);
boolean isPrimary = originDataSource.isPrimary();
originDataSource.setPrimary(false);
beanDefinitionRegistry.registerBeanDefinition(transformDatasourceBeanName(beanName),
originDataSource);
// register proxied datasource
RootBeanDefinition proxiedBeanDefinition = new RootBeanDefinition(SmartDataSource.class);
proxiedBeanDefinition.setRole(BeanDefinition.ROLE_APPLICATION);
proxiedBeanDefinition.setPrimary(isPrimary);
proxiedBeanDefinition.setInitMethodName("init");
proxiedBeanDefinition.setDependsOn(transformDatasourceBeanName(beanName));
MutablePropertyValues originValues = originDataSource.getPropertyValues();
MutablePropertyValues values = new MutablePropertyValues();
String appName = environment.getProperty(TRACER_APPNAME_KEY);
Assert.isTrue(!StringUtils.isBlank(appName), TRACER_APPNAME_KEY + " must be configured!");
values.add("appName", appName);
values.add("delegate", new RuntimeBeanReference(transformDatasourceBeanName(beanName)));
values.add("dbType", resolveDbTypeFromUrl(unwrapPropertyValue(originValues.get(jdbcUrl))));
values.add("database",
resolveDatabaseFromUrl(unwrapPropertyValue(originValues.get(jdbcUrl))));
proxiedBeanDefinition.setPropertyValues(values);
beanDefinitionRegistry.registerBeanDefinition(beanName, proxiedBeanDefinition);
}
代码示例来源:origin: org.beangle.ioc/beangle-ioc-spring
for (String name : names) {
BeanDefinition bd = registry.getBeanDefinition(name);
bd.setPrimary(name.equals(holder.getBeanName()));
代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aop
targetDefinition.setPrimary(false);
代码示例来源:origin: apache/servicemix-bundles
targetDefinition.setPrimary(false);
内容来源于网络,如有侵权,请联系作者删除!