下面列出了怎么用org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate的API类实例代码及写法,或者点击链接到github查看源代码。
@Bean
@Primary
@ConditionalOnSingleCandidate(JdbcTemplate.class)
@ConditionalOnMissingBean(NamedParameterJdbcOperations.class)
public NamedParameterJdbcTemplate namedParameterJdbcTemplate(JdbcTemplate jdbcTemplate) {
return new NamedParameterJdbcTemplate(jdbcTemplate);
}
@Bean
@ConditionalOnEnabledInfoContributor("launcher")
@ConditionalOnSingleCandidate(LauncherInfoProperties.class)
@ConditionalOnMissingBean
@Order(DEFAULT_ORDER)
public LauncherInfoContributor launcherInfoContributor(LauncherInfoProperties properties) {
return new LauncherInfoContributor(properties, this.properties.getLauncher().getMode());
}
@Bean
@ConditionalOnSingleCandidate(Jaxb2Marshaller.class)
@ConditionalOnMissingBean(Jaxb2Printer.class)
@Order(100)
public Printer jaxb2Printer(ObjectProvider<Jaxb2Marshaller> jaxb2Marshaller) {
Jaxb2Marshaller marshaller = jaxb2Marshaller.getObject();
return new Jaxb2Printer(marshaller)
.addPreProcessor(new JaxbElementWrapper(marshaller));
}
@Bean
@ConditionalOnSingleCandidate(ObjectMapper.class)
@ConditionalOnMissingBean
@Order(200)
public JacksonPrinter jacksonPrinter(ObjectProvider<ObjectMapper> objectMapper) {
return new JacksonPrinter(objectMapper.getObject());
}
@Bean
@ConditionalOnProperty(prefix = "quickfixj.client", name = "jmx-enabled", havingValue = "true")
@ConditionalOnClass(JmxExporter.class)
@ConditionalOnSingleCandidate(Initiator.class)
@ConditionalOnMissingBean(name = "clientInitiatorMBean", value = ObjectName.class)
public ObjectName clientInitiatorMBean(Initiator clientInitiator) {
try {
JmxExporter exporter = new JmxExporter();
exporter.setRegistrationBehavior(REGISTRATION_REPLACE_EXISTING);
return exporter.register(clientInitiator);
} catch (Exception e) {
throw new ConfigurationException(e.getMessage(), e);
}
}
@Bean
@ConditionalOnProperty(prefix = "quickfixj.server", name = "jmx-enabled", havingValue = "true")
@ConditionalOnClass(JmxExporter.class)
@ConditionalOnSingleCandidate(Acceptor.class)
@ConditionalOnMissingBean(name = "serverAcceptorMBean")
public ObjectName serverAcceptorMBean(Acceptor serverAcceptor) {
try {
JmxExporter exporter = new JmxExporter();
exporter.setRegistrationBehavior(REGISTRATION_REPLACE_EXISTING);
return exporter.register(serverAcceptor);
} catch (Exception e) {
throw new ConfigurationException(e.getMessage(), e);
}
}
@API(status = INTERNAL)
@Bean
@Primary
@ConditionalOnSingleCandidate(Tracer.class)
public Tracer proxyTracer(
final Tracer tracer, final List<Plugin> plugins) {
return reduce(plugins, new ProxyTracer(tracer), ProxyTracer::with);
}
@Bean
@ConditionalOnSingleCandidate(RabbitTemplate.class)
public RabbitMessagingTemplate rabbitMessagingTemplate(RabbitTemplate rabbitTemplate) {
return new RabbitMessagingTemplate(rabbitTemplate);
}
/**
* Creates a {@link StubTransformer} bean that will add the call credentials to the created stubs.
*
* <p>
* <b>Note:</b> This method will only be applied if exactly one {@link CallCredentials} is in the application
* context.
* </p>
*
* @param credentials The call credentials to configure in the stubs.
* @return The StubTransformer bean that will add the given credentials.
* @see AbstractStub#withCallCredentials(CallCredentials)
* @sse {@link CallCredentialsHelper#fixedCredentialsStubTransformer(CallCredentials)}
*/
@ConditionalOnSingleCandidate(CallCredentials.class)
@Bean
StubTransformer stubCallCredentialsTransformer(final CallCredentials credentials) {
return CallCredentialsHelper.fixedCredentialsStubTransformer(credentials);
}
/**
* Creates a {@link StubTransformer} bean that will add the call credentials to the created stubs.
*
* <p>
* <b>Note:</b> This method will only be applied if exactly one {@link CallCredentials} is in the application
* context.
* </p>
*
* @param credentials The call credentials to configure in the stubs.
* @return The StubTransformer bean that will add the given credentials.
* @see AbstractStub#withCallCredentials(CallCredentials)
* @sse {@link CallCredentialsHelper#fixedCredentialsStubTransformer(CallCredentials)}
*/
@ConditionalOnSingleCandidate(CallCredentials.class)
@Bean
StubTransformer stubCallCredentialsTransformer(final CallCredentials credentials) {
return CallCredentialsHelper.fixedCredentialsStubTransformer(credentials);
}