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 64483, chúng tôi kiểm tra trạng thái của máy chủ
$ sudo service mongodb start mongodb start/running, process 64484
$ sudo service mongodb start mongodb start/running, process 6448
Máy chủ
$ sudo service mongodb start mongodb start/running, process 64484 được khởi động bằng lệnh
$ sudo service mongodb start mongodb start/running, process 64486
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 64487________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 64488
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 64489 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.java0 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.java1 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.java2 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.java3 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.java4, 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.java5 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.java6,
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.java7 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.java8
@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.java9 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.java6 đượ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.71. 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 9750
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.72, 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