classe de configuration MongoDB

MongoDB classe de configuration:

  1. @Profile ( "dev"): le point application-dev.properties fichier de configuration, dev environnement fait référence à l'identification de la configuration, se réfère généralement à l'environnement de test.
  2. @Configuration: notes de @Configuration montrent que cette classe est une configuration de classe. Les composants peuvent lancer une analyse de l'entité à la fève de @Bean instancier et similaires.
  3. @Configuration comprise comme un ressort lorsque la balise XML à l'intérieur, qui est: disposés des récipients à ressort (contexte de l'application), @Bean compris comme un ressort lorsque la balise XML à l'intérieur.
  4. @Bean: annotation de printemps est utilisé pour indiquer la méthode @Bean, entraînant un objet Bean, et l'objet est à la gestion Bean Spring. Cette méthode produit objet Bean Spring appelée une seule fois, alors ce sera l'objet Bean Spring dans son propre conteneur du CIO.
  5. conteneur SpringIOC gère un ou plusieurs des haricots, la nécessité de haricots à créer dans le commentaire de @Configuration, utilisez l'annotation @Bean sur une méthode pour montrer que cette approche des besoins à la gestion du printemps.

configuration de classe MongoDB suit comme:

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;
    }
}

Publié 51 articles originaux · a gagné les éloges 11 · vues 6077

Je suppose que tu aimes

Origine blog.csdn.net/weixin_42140261/article/details/104863700
conseillé
Classement