clase de configuración MongoDB

MongoDB clase de configuración:

  1. @Profile ( "dev"): punto application-dev.properties archivo de configuración, dev medio ambiente se refiere a la identificación de la configuración, por lo general se refiere al entorno de prueba.
  2. @Configuration: notas @Configuration muestran que esta clase es una configuración de clase. Los componentes pueden iniciar una exploración de la entidad con el grano de instantiate @Bean y similares.
  3. @Configuration entenderse como un muelle cuando la etiqueta dentro de XML, que es: contenedores de muelle dispuesto (contexto de aplicación), @Bean entenderse como un muelle cuando la etiqueta dentro de xml.
  4. @Bean: anotación del resorte se utiliza para contar el método @Bean, resultando en un objeto Bean, y el objeto es a la gestión del resorte Bean. Este método produce objeto del resorte de la haba única llamada una vez, entonces este será el objeto de primavera de la haba en su propio contenedor COI.
  5. SpringIOC contenedor gestiona una o más de la judía, la necesidad de frijol que se creará en el comentario @Configuration, utilizar la anotación @Bean en un método para demostrar que este enfoque debe ser manejados primavera.

configuración de clase MongoDB como sigue:

package com.terse.develop.activity.config;

import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.EmbeddedValueResolverAware;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.context.annotation.Profile;
import org.springframework.data.mongodb.MongoDbFactory;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
import org.springframework.util.StringValueResolver;

@Configuration
public class ActivityMongoConfig implements EmbeddedValueResolverAware {

    private StringValueResolver stringValueResolver;

    public @Bean
    MongoClient activityMongo() {
        MongoClientURI mongoClientURI = new MongoClientURI(stringValueResolver.resolveStringValue("${mongodb.uri}"));
        return new MongoClient(mongoClientURI);
    }
    
    @Profile("dev")
    public @Bean("activityMongoFactory")
    MongoDbFactory mongoDbFactoryDev(MongoClient mongoClient) {
        return new SimpleMongoDbFactory(MongoClient, stringValueResolver.resolveStringValue("${mongodb.dev.database}"));
    }

    @Profile("pro")
    public @Bean("activityMongoFactory")
    MongoDbFactory mongoDbFactoryPro(MongoClient mongoClient) {
        return new SimpleMongoDbFactory(mongoClient, stringValueResolver.resolveStringValue("${mongodb.pro.database}"));
    }

     public @Bean
    MongoTemplate mongoTemplate() throws Exception {
       MongoTemplate mongoTemplate = new MongoTemplate(mongoDbFactoryPro());
       return mongoTemplate;
    }

    @Override
    public void setEmbeddedValueResolver(StringValueResolver resolver) {
        this.stringValueResolver = resolver;
    }
}

Publicado 51 artículos originales · ganado elogios 11 · vistas 6077

Supongo que te gusta

Origin blog.csdn.net/weixin_42140261/article/details/104863700
Recomendado
Clasificación