lodsve.redis.core.connection.RedisDataSourceBeanDefinitionFactory Maven / Gradle / Ivy
package lodsve.redis.core.connection;
import lodsve.core.properties.autoconfigure.PropertiesConfigurationFactory;
import lodsve.redis.core.properties.RedisProperties;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
/**
* redis数据源.
*
* @author sunhao([email protected])
* @version V1.0, 16/1/21 下午4:10
*/
public class RedisDataSourceBeanDefinitionFactory {
private String dataSourceName;
private RedisProperties redisProperties;
public RedisDataSourceBeanDefinitionFactory(String dataSourceName) {
this.dataSourceName = dataSourceName;
this.redisProperties = new PropertiesConfigurationFactory.Builder<>(RedisProperties.class).build();
}
public BeanDefinition build() {
BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder.genericBeanDefinition(LodsveRedisConnectionFactory.class);
beanDefinitionBuilder.addConstructorArgValue(dataSourceName);
beanDefinitionBuilder.addConstructorArgValue(redisProperties);
return beanDefinitionBuilder.getBeanDefinition();
}
}