2014-05-07 19 views
10

Tôi đã thử Spring Guide Accessing Data with MongoDB. Những gì tôi không thể tìm ra là làm thế nào để cấu hình mã của tôi để không sử dụng địa chỉ máy chủ mặc định và không sử dụng cơ sở dữ liệu mặc định. Tôi đã thấy nhiều cách để làm điều đó với XML nhưng tôi đang cố gắng ở lại với các cấu hình hoàn toàn không có XML.Dữ liệu mùa xuân: Cấu hình Java cho MongoDB không có XML

Có ai có ví dụ đặt máy chủ và cơ sở dữ liệu không có XML và có thể dễ dàng được tích hợp vào mẫu chúng hiển thị trong Hướng dẫn mùa xuân không?

Lưu ý:. Tôi đã tìm cách thiết lập các bộ sưu tập (tìm kiếm cụm từ "Những bộ sưu tập tài liệu của tôi sẽ được lưu vào" on this page

Cảm ơn bạn

ps cùng câu chuyện với Hướng dẫn mùa xuân cho! JPA - làm thế nào để bạn cấu hình các thuộc tính db - nhưng đó là một bài :)

Trả lời

32

Nó sẽ là một cái gì đó như thế này cho một cấu hình cơ bản:

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

Ví dụ cho một tài liệu:

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

Ví dụ cho một kho lưu trữ:

@Repository 
public class PersonRepository { 

    @Autowired 
    MongoTemplate mongoTemplate; 

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

Nhờ đó giải thích nó! Tôi xin lỗi tôi không thể làm một "Vote Up" vì tôi không có đủ điểm danh tiếng (yêu cầu 15) - nhưng tôi đã đánh dấu câu trả lời là đã trả lời. – mbird

+0

Tôi đã bỏ phiếu cho bạn :) – tekkavi

+0

Tập lệnh này có hoạt động với nền tảng đám mây không? Mỏ hoạt động cục bộ, nhưng khi tôi đẩy vào đám mây đúc nó không thể thiết lập kết nối – Jesse

Các vấn đề liên quan