2014-05-07 11 views
10

Próbowałem Spring Guide Accessing Data with MongoDB. Czego nie mogę zrozumieć, to jak skonfigurować mój kod, aby nie używał domyślnego adresu serwera i nie używał domyślnej bazy danych. Widziałem wiele sposobów, aby to zrobić z XML, ale staram się pozostać z całkowicie XML-konfiguracje.Dane sprężyny: konfiguracja Java dla MongoDB bez XML

Czy ktoś ma przykład, który ustawia serwer i bazę danych bez XML i może być łatwo zintegrowany z próbką wyświetlaną w przewodniku wiosennym?

. Uwaga: znalazłem jak ustawić Collection (wyszukiwania dla frazy „Która kolekcja będzie moje dokumenty są zapisywane w” on this page

Dziękuję

ps samą historię z wiosennych Przewodnika dla! JPA - jak można skonfigurować właściwości dB - ale to kolejny post :)

Odpowiedz

32

byłoby coś takiego dla podstawowej konfiguracji:

@Configuration 
@EnableMongoRepositories 
public class MongoConfiguration extends AbstractMongoConfiguration { 

    @Override 
    protected String getDatabaseName() { 
     return "dataBaseName"; 
    } 

    @Override 
    public Mongo mongo() throws Exception { 
     return new MongoClient("127.0.0.1", 27017); 
    } 

    @Override 
    protected String getMappingBasePackage() { 
     return "foo.bar.domain"; 
    } 
} 

Przykład dokumentu:

@Document 
public class Person { 

    @Id 
    private String id; 

    private String name; 

    public Person(String name) { 
     this.name = name; 
    } 

    public String getId() { 
     return id; 
    } 

    public void setId(String id) { 
     this.id = id; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 
} 

Przykład repozytorium:

@Repository 
public class PersonRepository { 

    @Autowired 
    MongoTemplate mongoTemplate; 

    public long countAllPersons() { 
     return mongoTemplate.count(null, Person.class); 
    } 
} 
+0

Dzięki że wyjaśniła! Przykro mi, że nie mogę zrobić "Głosowania", ponieważ nie mam wystarczającej liczby punktów reputacji (wymaga 15) - ale oznaczyłem odpowiedź jako udzieloną. – mbird

+0

Głosowałem za Tobą :) – tekkavi

+0

Czy ten skrypt działa z odlewnią chmury? Mój działa lokalnie, ale kiedy pcham do odlewni chmury, nie mogę ustanowić połączenia – Jesse

Powiązane problemy