Java 在spring boot中使用哪种设计模式来迭代请求属性
我需要将请求实体保存到多个数据源中。我的请求可以有一个或多个请求对象,它们应该保存在各自的数据库中。哪些设计模式适合需求 HTTP请求Java 在spring boot中使用哪种设计模式来迭代请求属性,java,spring,spring-boot,java-8,Java,Spring,Spring Boot,Java 8,我需要将请求实体保存到多个数据源中。我的请求可以有一个或多个请求对象,它们应该保存在各自的数据库中。哪些设计模式适合需求 HTTP请求 { "params" : [ { "id": "AB", "data": //some object }, { "id": "CD", "data": //some object }, { "id": "EF", "data": //
{
"params" : [
{
"id": "AB",
"data": //some object
},
{
"id": "CD",
"data": //some object
},
{
"id": "EF",
"data": //some object
},
{
"id": "GH",
"data": //some object
},
{
"id": "IJ",
"data": //some object
},
...........
...........
]
}
AB&CD-到ORACLE实例1EF&GH-到ORACLE实例2
IJ-to-MYSQL
这里我知道哪个对象应该保存在哪个数据库中。我不想遍历
params
数组并创建多个小数组,除非这是唯一的选项。我想在这里应用一种设计模式,这种模式可以满足目的,有人能提出建议吗?我认为在这种情况下,最好的设计模式是[Factory method pattern][1]。实际上,您将通过客户端数据创建适当的对象。我的意思是,根据id值,相关服务将调用以将数据保存到相应的数据库中
for(MyParam param: params){
serviceHolder.getByType(param.getId()).save(param.getData());
}
假设您将有一个使用不同实现保存数据的接口
public interface IService {
void save(Data data);
List<String> types();
}
通过使用getByType方法,您可以为每个数据条目找到合适的服务,并调用save方法插入数据库。
[1] :在这种情况下,我认为最好的设计模式是[Factory method模式][1]。实际上,您将通过客户端数据创建适当的对象。我的意思是,根据id值,相关服务将调用以将数据保存到相应的数据库中
for(MyParam param: params){
serviceHolder.getByType(param.getId()).save(param.getData());
}
假设您将有一个使用不同实现保存数据的接口
public interface IService {
void save(Data data);
List<String> types();
}
通过使用getByType方法,您可以为每个数据条目找到合适的服务,并调用save方法插入数据库。
[1] :
for(MyParam param: params){
serviceHolder.getByType(param.getId()).save(param.getData());
}