package com.jthink.skyeye.data.hbase.boot; import com.jthink.skyeye.data.hbase.api.HbaseTemplate; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; /** * JThink@JThink * * @author JThink * @version 0.0.1 * @desc hbase auto configuration * @date 2016-11-16 11:11:27 */ @org.springframework.context.annotation.Configuration @EnableConfigurationProperties(HbaseProperties.class) @ConditionalOnClass(HbaseTemplate.class) public class HbaseAutoConfiguration { private static final String HBASE_QUORUM = "hbase.zookeeper.quorum"; @Autowired private HbaseProperties hbaseProperties; @Bean @ConditionalOnMissingBean(HbaseTemplate.class) public HbaseTemplate hbaseTemplate() { Configuration configuration = HBaseConfiguration.create(); configuration.set(HBASE_QUORUM, this.hbaseProperties.getQuorum()); return new HbaseTemplate(configuration); } }