最后
既已说到spring cloud alibaba,那对于整个微服务架构,如果想要进一步地向上提升自己,到底应该掌握哪些核心技能呢?
就个人而言,对于整个微服务架构,像RPC、Dubbo、Spring Boot、Spring Cloud Alibaba、Docker、kubernetes、Spring Cloud Netflix、Service Mesh等这些都是最最核心的知识,架构师必经之路!下图,是自绘的微服务架构路线体系大纲,如果有还不知道自己该掌握些啥技术的朋友,可根据小编手绘的大纲进行一个参考。
如果觉得图片不够清晰,也可来找小编分享原件的xmind文档!
且除此份微服务体系大纲外,我也有整理与其每个专题核心知识点对应的最强学习笔记:
-
出神入化——SpringCloudAlibaba.pdf
-
SpringCloud微服务架构笔记(一).pdf
-
SpringCloud微服务架构笔记(二).pdf
-
SpringCloud微服务架构笔记(三).pdf
-
SpringCloud微服务架构笔记(四).pdf
-
Dubbo框架RPC实现原理.pdf
-
Dubbo最新全面深度解读.pdf
-
Spring Boot学习教程.pdf
-
SpringBoo核心宝典.pdf
-
第一本Docker书-完整版.pdf
-
使用SpringCloud和Docker实战微服务.pdf
-
K8S(kubernetes)学习指南.pdf
另外,如果不知道从何下手开始学习呢,小编这边也有对每个微服务的核心知识点手绘了其对应的知识架构体系大纲,不过全是导出的xmind文件,全部的源文件也都在此!
代码片段如下:
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
public class MongoDBJDBC{
public static void main( String args[] ){
try{
// 连接到 mongodb 服务
MongoClient mongoClient = new MongoClient( “localhost” , 27017 );
// 连接到数据库
MongoDatabase mongoDatabase = mongoClient.getDatabase(“mycol”);
System.out.println(“Connect to database successfully”);
mongoDatabase.createCollection(“test”);
System.out.println(“集合创建成功”);
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
}
}
编译运行以上程序,输出结果如下:
Connect to database successfully
集合创建成功
获取集合
我们可以使用com.mongodb.client.MongoDatabase类的 getCollection() 方法来获取一个集合
代码片段如下:
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
public class MongoDBJDBC{
public static void main( String args[] ){
try{
// 连接到 mongodb 服务
MongoClient mongoClient = new MongoClient( “localhost” , 27017 );
// 连接到数据库
MongoDatabase mongoDatabase = mongoClient.getDatabase(“mycol”);
System.out.println(“Connect to database successfully”);
MongoCollection collection = mongoDatabase.getCollection(“test”);
System.out.println(“集合 test 选择成功”);
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
}
}
编译运行以上程序,输出结果如下:
Connect to database successfully
集合 test 选择成功
插入文档
我们可以使用com.mongodb.client.MongoCollection类的 insertMany() 方法来插入一个文档
代码片段如下:
import java.util.ArrayList;
import java.util.List;
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
public class MongoDBJDBC{
public static void main( String args[] ){
try{
// 连接到 mongodb 服务
MongoClient mongoClient = new MongoClient( “localhost” , 27017 );
// 连接到数据库
MongoDatabase mongoDatabase = mongoClient.getDatabase(“mycol”);
System.out.println(“Connect to database successfully”);
MongoCollection collection = mongoDatabase.getCollection(“test”);
System.out.println(“集合 test 选择成功”);
//插入文档
/**
-
- 创建文档 org.bson.Document 参数为key-value的格式
-
- 创建文档集合List
-
- 将文档集合插入数据库集合中 mongoCollection.insertMany(List) 插入单个文档可以用 mongoCollection.insertOne(Document)
-
*/
Document document = new Document(“title”, “MongoDB”).
append(“description”, “database”).
append(“likes”, 100).
append(“by”, “Fly”);
List documents = new ArrayList();
documents.add(document);
collection.insertMany(documents);
System.out.println(“文档插入成功”);
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
}
}
编译运行以上程序,输出结果如下:
Connect to database successfully
集合 test 选择成功
文档插入成功
检索所有文档
我们可以使用 com.mongodb.client.MongoCollection 类中的 find() 方法来获取集合中的所有文档。
此方法返回一个游标,所以你需要遍历这个游标。
代码片段如下:
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
public class MongoDBJDBC{
public static void main( String args[] ){
try{
// 连接到 mongodb 服务
MongoClient mongoClient = new MongoClient( “localhost” , 27017 );
// 连接到数据库
MongoDatabase mongoDatabase = mongoClient.getDatabase(“mycol”);
System.out.println(“Connect to database successfully”);
MongoCollection collection = mongoDatabase.getCollection(“test”);
System.out.println(“集合 test 选择成功”);
//检索所有文档
/**
-
- 获取迭代器FindIterable
-
- 获取游标MongoCursor
-
- 通过游标遍历检索出的文档集合
-
*/
FindIterable findIterable = collection.find();
MongoCursor mongoCursor = findIterable.iterator();
while(mongoCursor.hasNext()){
System.out.println(mongoCursor.next());
}
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
}
}
编译运行以上程序,输出结果如下:
Connect to database successfully
集合 test 选择成功
Document{{_id=56e65fb1fd57a86304fe2692, title=MongoDB, description=database, likes=100, by=Fly}}
更新文档
你可以使用 com.mongodb.client.MongoCollection 类中的 updateMany() 方法来更新集合中的文档。
代码片段如下:
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
public class MongoDBJDBC{
public static void main( String args[] ){
try{
// 连接到 mongodb 服务
MongoClient mongoClient = new MongoClient( “localhost” , 27017 );
// 连接到数据库
MongoDatabase mongoDatabase = mongoClient.getDatabase(“mycol”);
System.out.println(“Connect to database successfully”);
MongoCollection collection = mongoDatabase.getCollection(“test”);
System.out.println(“集合 test 选择成功”);
//更新文档 将文档中likes=100的文档修改为likes=200
collection.updateMany(Filters.eq(“likes”, 100), new Document(“$set”,new Document(“likes”,200)));
//检索查看结果
FindIterable findIterable = collection.find();
MongoCursor mongoCursor = findIterable.iterator();
while(mongoCursor.hasNext()){
System.out.println(mongoCursor.next());
}
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
}
}
编译运行以上程序,输出结果如下:
读者福利
由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴
更多笔记分享
ception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
}
}
编译运行以上程序,输出结果如下:
读者福利
由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴
[外链图片转存中…(img-4mq2Vu0O-1714923683716)]
[外链图片转存中…(img-Tecy0x6F-1714923683717)]
[外链图片转存中…(img-E9A0FLfp-1714923683717)]
更多笔记分享
[外链图片转存中…(img-z5aawVU4-1714923683718)]