Tôi có thể sử dụng khởi động mùa xuân với mongodb không?

Spring là một khung ứng dụng Java phổ biến và Spring Boot là một sự phát triển của Spring, giúp dễ dàng tạo các ứng dụng dựa trên Spring cấp độ sản xuất, độc lập một cách dễ dàng

MongoDB là cơ sở dữ liệu định hướng tài liệu đa nền tảng NoSQL. Đây là một trong những cơ sở dữ liệu phổ biến nhất hiện có. MongoDB được phát triển bởi MongoDB Inc. và được xuất bản dưới dạng phần mềm mã nguồn mở và miễn phí

Dự án Spring Data MongoDB cung cấp tích hợp với cơ sở dữ liệu tài liệu MongoDB

Cài đặt MongoDB

Lệnh sau có thể được sử dụng để cài đặt MongoDB trên Linux dựa trên Debian

$ sudo apt-get install mongodb

Lệnh cài đặt các gói cần thiết đi kèm với MongoDB

$ sudo service mongodb status
mongodb start/running, process 975

Với lệnh

$ sudo service mongodb start
mongodb start/running, process 6448
3, chúng tôi kiểm tra trạng thái của máy chủ
$ sudo service mongodb start
mongodb start/running, process 6448
4

$ sudo service mongodb start
mongodb start/running, process 6448

Máy chủ

$ sudo service mongodb start
mongodb start/running, process 6448
4 được khởi động bằng lệnh
$ sudo service mongodb start
mongodb start/running, process 6448
6

Trong ví dụ sau, chúng tôi tạo một ứng dụng Spring Boot đơn giản sử dụng cơ sở dữ liệu MongoDB. Lưu ý rằng theo mặc định, không có bất kỳ cấu hình cụ thể nào, Spring Boot cố gắng kết nối với một phiên bản MongoDB được lưu trữ cục bộ, sử dụng tên cơ sở dữ liệu

$ sudo service mongodb start
mongodb start/running, process 6448
7

________số 8_______

Đây là cấu trúc dự án của ứng dụng Spring


    4.0.0

    com.zetcode
    springbootmongodb
    1.0-SNAPSHOT

    jar
    
        UTF-8
        17
        17
    

    
        org.springframework.boot
        spring-boot-starter-parent
        2.6.7
    

    

        
            org.springframework.boot
            spring-boot-starter-data-mongodb
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        

    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.6.7
            
        
    

Đây là tệp Maven

$ sudo service mongodb start
mongodb start/running, process 6448
8

Bộ khởi động Spring Boot là một tập hợp các bộ mô tả phụ thuộc thuận tiện giúp đơn giản hóa rất nhiều cấu hình Maven.

$ sudo service mongodb start
mongodb start/running, process 6448
9 có một số cấu hình phổ biến cho ứng dụng Spring Boot.
pom.xml
src
├───main
│   ├───java
│   │   └───com
│   │       └───zetcode
│   │           │   Application.java
│   │           │   MyRunner.java
│   │           ├───model
│   │           │       Country.java
│   │           └───repository
│   │                   CountryRepository.java
│   └───resources
│           application.properties
└───test
    └───java
        └───com
            └───zetcode
                    MongoTest.java
0 là phần khởi động để sử dụng cơ sở dữ liệu hướng tài liệu MongoDB và Spring Data MongoDB.
pom.xml
src
├───main
│   ├───java
│   │   └───com
│   │       └───zetcode
│   │           │   Application.java
│   │           │   MyRunner.java
│   │           ├───model
│   │           │       Country.java
│   │           └───repository
│   │                   CountryRepository.java
│   └───resources
│           application.properties
└───test
    └───java
        └───com
            └───zetcode
                    MongoTest.java
1 là phần khởi động để thử nghiệm các ứng dụng Khởi động mùa xuân với các thư viện bao gồm JUnit, Hamcrest và Mockito

pom.xml
src
├───main
│   ├───java
│   │   └───com
│   │       └───zetcode
│   │           │   Application.java
│   │           │   MyRunner.java
│   │           ├───model
│   │           │       Country.java
│   │           └───repository
│   │                   CountryRepository.java
│   └───resources
│           application.properties
└───test
    └───java
        └───com
            └───zetcode
                    MongoTest.java
2 cung cấp hỗ trợ Spring Boot trong Maven, cho phép chúng tôi đóng gói các kho lưu trữ JAR hoặc WAR có thể thực thi được. Mục tiêu
pom.xml
src
├───main
│   ├───java
│   │   └───com
│   │       └───zetcode
│   │           │   Application.java
│   │           │   MyRunner.java
│   │           ├───model
│   │           │       Country.java
│   │           └───repository
│   │                   CountryRepository.java
│   └───resources
│           application.properties
└───test
    └───java
        └───com
            └───zetcode
                    MongoTest.java
3 của nó chạy ứng dụng Spring Boot

tài nguyên/ứng dụng. của cải

spring.main.banner-mode=off
logging.level.org.springframework=ERROR

Trong

pom.xml
src
├───main
│   ├───java
│   │   └───com
│   │       └───zetcode
│   │           │   Application.java
│   │           │   MyRunner.java
│   │           ├───model
│   │           │       Country.java
│   │           └───repository
│   │                   CountryRepository.java
│   └───resources
│           application.properties
└───test
    └───java
        └───com
            └───zetcode
                    MongoTest.java
4, chúng tôi tắt biểu ngữ Khởi động mùa xuân và đặt thuộc tính ghi nhật ký. Spring Boot theo mặc định cố gắng kết nối với một phiên bản MongoDB được lưu trữ cục bộ, sử dụng cơ sở dữ liệu thử nghiệm

# mongodb
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=testdb

Nếu chúng ta muốn cấu hình MongoDB, chúng ta có thể thiết lập các thuộc tính tương ứng

com/zetcode/model/Country. java

package com.zetcode.model;

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

import java.util.Objects;

@Document
public class Country {

    @Id
    private String id;
    private String name;
    private int population;

    public Country(String name, int population) {
        this.name = name;
        this.population = population;
    }

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

    public int getPopulation() {
        return population;
    }

    public void setPopulation(int population) {
        this.population = population;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Country country = (Country) o;
        return population == country.population &&
                Objects.equals(id, country.id) &&
                Objects.equals(name, country.name);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, name, population);
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("Country{");
        sb.append("id='").append(id).append('\'');
        sb.append(", name='").append(name).append('\'');
        sb.append(", population=").append(population);
        sb.append('}');
        return sb.toString();
    }
}

Đây là hạt đậu

pom.xml
src
├───main
│   ├───java
│   │   └───com
│   │       └───zetcode
│   │           │   Application.java
│   │           │   MyRunner.java
│   │           ├───model
│   │           │       Country.java
│   │           └───repository
│   │                   CountryRepository.java
│   └───resources
│           application.properties
└───test
    └───java
        └───com
            └───zetcode
                    MongoTest.java
5 có ba thuộc tính.
pom.xml
src
├───main
│   ├───java
│   │   └───com
│   │       └───zetcode
│   │           │   Application.java
│   │           │   MyRunner.java
│   │           ├───model
│   │           │       Country.java
│   │           └───repository
│   │                   CountryRepository.java
│   └───resources
│           application.properties
└───test
    └───java
        └───com
            └───zetcode
                    MongoTest.java
6,
pom.xml
src
├───main
│   ├───java
│   │   └───com
│   │       └───zetcode
│   │           │   Application.java
│   │           │   MyRunner.java
│   │           ├───model
│   │           │       Country.java
│   │           └───repository
│   │                   CountryRepository.java
│   └───resources
│           application.properties
└───test
    └───java
        └───com
            └───zetcode
                    MongoTest.java
7 và
pom.xml
src
├───main
│   ├───java
│   │   └───com
│   │       └───zetcode
│   │           │   Application.java
│   │           │   MyRunner.java
│   │           ├───model
│   │           │       Country.java
│   │           └───repository
│   │                   CountryRepository.java
│   └───resources
│           application.properties
└───test
    └───java
        └───com
            └───zetcode
                    MongoTest.java
8

@Document
public class Country {

Hạt đậu được trang trí với chú thích

pom.xml
src
├───main
│   ├───java
│   │   └───com
│   │       └───zetcode
│   │           │   Application.java
│   │           │   MyRunner.java
│   │           ├───model
│   │           │       Country.java
│   │           └───repository
│   │                   CountryRepository.java
│   └───resources
│           application.properties
└───test
    └───java
        └───com
            └───zetcode
                    MongoTest.java
9 tùy chọn

@Id
private String id;

pom.xml
src
├───main
│   ├───java
│   │   └───com
│   │       └───zetcode
│   │           │   Application.java
│   │           │   MyRunner.java
│   │           ├───model
│   │           │       Country.java
│   │           └───repository
│   │                   CountryRepository.java
│   └───resources
│           application.properties
└───test
    └───java
        └───com
            └───zetcode
                    MongoTest.java
6 được trang trí bằng chú thích

    4.0.0

    com.zetcode
    springbootmongodb
    1.0-SNAPSHOT

    jar
    
        UTF-8
        17
        17
    

    
        org.springframework.boot
        spring-boot-starter-parent
        2.6.7
    

    

        
            org.springframework.boot
            spring-boot-starter-data-mongodb
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        

    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.6.7
            
        
    

1. Spring tự động tạo id mới cho đối tượng quốc gia mới được tạo

com/zetcode/kho lưu trữ/Kho lưu trữ quốc gia. java

$ sudo service mongodb status
mongodb start/running, process 975
0

Bằng cách mở rộng từ


    4.0.0

    com.zetcode
    springbootmongodb
    1.0-SNAPSHOT

    jar
    
        UTF-8
        17
        17
    

    
        org.springframework.boot
        spring-boot-starter-parent
        2.6.7
    

    

        
            org.springframework.boot
            spring-boot-starter-data-mongodb
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        

    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.6.7
            
        
    

2, chúng tôi có nhiều hoạt động vượt trội, bao gồm các hoạt động CRUD tiêu chuẩn

MongoDB có thể được sử dụng với khởi động mùa xuân không?

Dễ dàng kết nối MongoDB Atlas với Spring Boot . Dữ liệu ban đầu MongoDB artifactid (phần phụ thuộc mà chúng tôi đã thêm khi tạo dự án Spring Initializr) trong pom. xml. Một tài sản trên ứng dụng.

Làm cách nào để kết nối dự án Spring Boot với MongoDB?

Chúng tôi cần các API sau để hoạt động với cơ sở dữ liệu Spring Boot và MongoDB. Có hai cách tiếp cận để chúng ta có thể kết nối với cơ sở dữ liệu MongoDB - MongoRepository và MongoTemplate . Chúng tôi sẽ cố gắng thiết lập những gì một API cung cấp so với một API khác và khi nào bạn nên chọn bất kỳ một trong số chúng cho trường hợp sử dụng của mình.

Tôi có thể sử dụng JPA dữ liệu mùa xuân với MongoDB không?

Có, DataNucleus JPA cho phép nó , cũng như nhiều cơ sở dữ liệu khác. Bạn thực hiện thỏa hiệp bằng cách sử dụng API JPA cho các loại kho dữ liệu khác, nhưng nó giúp bạn dễ dàng điều tra chúng.

Làm cách nào để kết nối Spring Boot với MongoDB Atlas?

Các ví dụ CRUD về MongoDB và Spring Boot . specify the connection string in the application. tệp yaml trong thư mục src/main/resource . Có thể tìm thấy chuỗi kết nối cho một cụm trong Giao diện người dùng Atlas. Không cần viết mã liên quan đến kết nối trong bất kỳ tệp nào khác.