Spring Cloud 探索 | Mongodb 微服务

来源:互联网 发布:天界坐骑进化数据 编辑:程序博客网 时间:2024/05/19 23:03

新建spring-cloud-mongodb工程,mongodb微服务提供动态读取git中mongodb配置信息
pom.xml:

...    <dependencies>...    <dependency>            <groupId>org.springframework.cloud</groupId>            <artifactId>spring-cloud-starter-config</artifactId>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-data-mongodb</artifactId>        </dependency>...</dependencies>    ...

bootstrap.properties

spring.cloud.config.uri=http://localhost:7878spring.cloud.config.name=gitspring.cloud.config.label=developspring.cloud.config.profile=testeureka.client.service-url.defaultZone=http://localhost:8761/eureka/spring.application.name=spring-cloud-mongodbserver.port=8881

读取git中的配置文件,MongodbProperties.java:

...@ConfigurationProperties(prefix = MongodbProperties.MON, ignoreUnknownFields = false)public class MongodbProperties {    //对应配置文件里的配置键    public final static String MON = "mon";    public static String getMon() {        return MON;    }    private String database;    private String host;    private String port;    private String username;    private String password;    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    public String getDatabase() {        return database;    }    public void setDatabase(String database) {        this.database = database;    }    public String getHost() {        return host;    }    public void setHost(String host) {        this.host = host;    }    public String getPort() {        return port;    }    public void setPort(String port) {        this.port = port;    }}

Mongodb连接,MongoData.java:

...@Configuration@EnableConfigurationProperties(MongodbProperties.class)public class MongoData {    @Autowired    private MongodbProperties mongodbProperties;    private static MongoDatabase mongoDatabase;    private MongodbProperties config;    public MongoData(MongodbProperties mongodbProperties){        this.config = mongodbProperties;    }    @Bean    public MongoClient mongoClient() {        List<ServerAddress> addresses = new ArrayList<ServerAddress>();        MongoCredential credential = MongoCredential.createCredential(                config.getUsername(), config.getDatabase(), config.getPassword().toCharArray());        List<MongoCredential> creList = new ArrayList<MongoCredential>();        addresses.add(new ServerAddress(config.getHost(), Integer.parseInt(config.getPort())));        creList.add(credential);        MongoClient mongoClient = new MongoClient(addresses, creList);        mongoDatabase = mongoClient.getDatabase(config.getDatabase());        return mongoClient;    }  public MongoCollection<Document> getColl(){      return mongoDatabase.getCollection(collName);}}
原创粉丝点击