polishing documentation

pull/450/merge
Josh Long 11 years ago committed by Dave Syer
parent da7d543305
commit 9453a6324a

@ -16,6 +16,7 @@
package org.springframework.boot.autoconfigure.amqp;
import com.rabbitmq.client.Channel;
import org.springframework.amqp.core.AmqpAdmin;
import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
@ -30,55 +31,70 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.rabbitmq.client.Channel;
/**
* {@link EnableAutoConfiguration Auto-configuration} for {@link RabbitTemplate}.
*
* <P> {@link EnableAutoConfiguration Auto-configuration} for {@link RabbitTemplate}.
*
* <p> This configuration class is active only when the RabbitMQ and Spring AMQP client libraries are on the classpath.
*
* <P> Registers a {@link org.springframework.amqp.rabbit.core.RabbitTemplate RabbitTemplate} instance if there
* is no other bean of the same type in the context. Registers a {@link org.springframework.amqp.rabbit.connection.CachingConnectionFactory CachingConnectionFactory}
* instance if there is no other bean of the same type in the context.
*
* <p> Registers a {@link org.springframework.amqp.core.AmqpAdmin } instance as long as {@literal spring.rabbitmq.dynamic=true}.
*
* <p>
* The {@link org.springframework.amqp.rabbit.connection.CachingConnectionFactory} honors the following properties:
* {@literal spring.rabbitmq.port} is used to specify the port to which the client should connect, and defaults to 5672.
* {@literal spring.rabbitmq.username} is used to specify the (optional) username, and
* {@literal spring.rabbitmq.password} is used to specify the (optional) password.
* {@literal spring.rabbitmq.host} is used to specify the host, and defaults to {@literal localhost}.
* {@literal spring.rabbitmq.virtualHost} is used to specify the (optional) virtual host to which the client should connect.
*
* @author Greg Turnquist
* @author Josh Long
*/
@Configuration
@ConditionalOnClass({ RabbitTemplate.class, Channel.class })
@ConditionalOnClass({RabbitTemplate.class, Channel.class})
@EnableConfigurationProperties(RabbitProperties.class)
public class RabbitAutoConfiguration {
@Bean
@ConditionalOnExpression("${spring.rabbitmq.dynamic:true}")
@ConditionalOnMissingBean(AmqpAdmin.class)
public AmqpAdmin amqpAdmin(CachingConnectionFactory connectionFactory) {
return new RabbitAdmin(connectionFactory);
}
@Bean
@ConditionalOnExpression("${spring.rabbitmq.dynamic:true}")
@ConditionalOnMissingBean(AmqpAdmin.class)
public AmqpAdmin amqpAdmin(CachingConnectionFactory connectionFactory) {
return new RabbitAdmin(connectionFactory);
}
@Autowired
private ConnectionFactory connectionFactory;
@Autowired
private ConnectionFactory connectionFactory;
@Bean
@ConditionalOnMissingBean(RabbitTemplate.class)
public RabbitTemplate rabbitTemplate() {
return new RabbitTemplate(this.connectionFactory);
}
@Bean
@ConditionalOnMissingBean(RabbitTemplate.class)
public RabbitTemplate rabbitTemplate() {
return new RabbitTemplate(this.connectionFactory);
}
@Configuration
@ConditionalOnMissingBean(ConnectionFactory.class)
protected static class RabbitConnectionFactoryCreator {
@Configuration
@ConditionalOnMissingBean(ConnectionFactory.class)
protected static class RabbitConnectionFactoryCreator {
@Bean
public ConnectionFactory rabbitConnectionFactory(RabbitProperties config) {
CachingConnectionFactory factory = new CachingConnectionFactory(
config.getHost());
factory.setPort(config.getPort());
if (config.getUsername() != null) {
factory.setUsername(config.getUsername());
}
if (config.getPassword() != null) {
factory.setPassword(config.getPassword());
}
if (config.getVirtualHost() != null) {
factory.setVirtualHost(config.getVirtualHost());
}
return factory;
}
@Bean
public ConnectionFactory rabbitConnectionFactory(RabbitProperties config) {
CachingConnectionFactory factory = new CachingConnectionFactory(
config.getHost());
factory.setPort(config.getPort());
if (config.getUsername() != null) {
factory.setUsername(config.getUsername());
}
if (config.getPassword() != null) {
factory.setPassword(config.getPassword());
}
if (config.getVirtualHost() != null) {
factory.setVirtualHost(config.getVirtualHost());
}
return factory;
}
}
}
}

@ -25,9 +25,15 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
/**
* {@link EnableAutoConfiguration Auto-configuration} for Spring AOP.
*
*
* <p> {@link org.springframework.boot.autoconfigure.EnableAutoConfiguration Auto-configuration}
* for Spring's AOP support. Equivalent to enabling {@link org.springframework.context.annotation.EnableAspectJAutoProxy}
* in your configuration. The configuration will not be activated if {@literal spring.aop.auto=false}.
* The {@literal proxyTargetClass} attribute will be {@literal false}, by default, but can be overridden by
* specifying {@literal spring.aop.proxyTargetClass=true}.
*
* @author Dave Syer
* @author Josh Long
* @see EnableAspectJAutoProxy
*/
@Configuration

@ -53,8 +53,7 @@ public abstract class AbstractRepositoryConfigurationSourceSupport implements
private Environment environment;
@Override
public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata,
final BeanDefinitionRegistry registry) {
public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) {
new RepositoryConfigurationDelegate(getConfigurationSource(), this.resourceLoader)
.registerRepositoriesIn(registry, getRepositoryConfigurationExtension());
}
@ -68,7 +67,7 @@ public abstract class AbstractRepositoryConfigurationSourceSupport implements
public java.lang.Iterable<String> getBasePackages() {
return AbstractRepositoryConfigurationSourceSupport.this
.getBasePackages();
};
}
};
}

@ -35,8 +35,18 @@ import org.springframework.data.web.config.EnableSpringDataWebSupport;
/**
* {@link EnableAutoConfiguration Auto-configuration} for Spring Data's JPA Repositories.
*
*
* <p> Activates when there is a bean of type {@link javax.sql.DataSource} configured in the context,
* the Spring Data JPA {@link org.springframework.data.jpa.repository.JpaRepository} type is on the classpath,
* and there is no other, existing {@link org.springframework.data.jpa.repository.JpaRepository} configured.
*
* <p> Once in effect, the auto-configuration is the equivalent of enabling JPA repositories using
* the {@link org.springframework.data.jpa.repository.config.EnableJpaRepositories} annotation.
*
* <p> This configuration class will activate <em>after</em> the Hibernate auto-configuration.
*
* @author Phillip Webb
* @author Josh Long
* @see EnableJpaRepositories
*/
@Configuration

@ -30,9 +30,17 @@ import com.mongodb.Mongo;
/**
* {@link EnableAutoConfiguration Auto-configuration} for Spring Data's Mongo
* Repositories.
*
*
* <p> Activates when there is no bean of type {@link org.springframework.data.mongodb.repository.support.MongoRepositoryFactoryBean} configured in the context,
* the Spring Data Mongo {@link org.springframework.data.mongodb.repository.MongoRepository} type is on the classpath,
* the Mongo client driver API is on the classpath, and there is no other configured {@link org.springframework.data.mongodb.repository.MongoRepository}.
*
* <p> Once in effect, the auto-configuration is the equivalent of enabling Mongo repositories using
* the {@link org.springframework.data.mongodb.repository.config.EnableMongoRepositories} annotation.
*
* @author Dave Syer
* @author Oliver Gierke
* @author Josh Long
* @see EnableMongoRepositories
*/
@Configuration

@ -31,11 +31,16 @@ import org.springframework.data.mongodb.repository.config.EnableMongoRepositorie
import com.mongodb.Mongo;
/**
* {@link EnableAutoConfiguration Auto-configuration} for Spring Data's
* {@link MongoTemplate}.
*
* {@link EnableAutoConfiguration Auto-configuration} for Spring Data's {@link MongoTemplate}.
*
* <p> Registers a {@link org.springframework.data.mongodb.core.MongoTemplate} bean if no other bean of the same type is configured.
*
* <P> Honors the {@literal spring.data.mongodb.database} property if set, otherwise connects to
* the {@literal test} database.
*
* @author Dave Syer
* @author Oliver Gierke
* @author Josh Long
* @see EnableMongoRepositories
*/
@Configuration

Loading…
Cancel
Save