Fluent API ,流畅API, 也称作流式API。
Fluent API 是一种 面向对象 的API,主要基于方法链。
这个概念由Eric Evans 和Martin Fowler于 2005 年创建, 旨在通过创建特定领域语言(DSL)来提高代码的可读性。
流畅API的好处是不需要记住接下来的步骤和方法, 允许一个自然连续的序列。
一般来说, Fluent API 包括:
在不使用Fluent 风格, 定义一个Usr 类 , 有name 和age 两个属性。
public class Usr {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
该类型 实例 化的代码如下:
Usr usr = new Usr();
usr.setName("张三");
usr.setAge(20);
使用Fluent 风格的类定义如下:
public class Usr {
private String name;
private int age;
public String getName() {
return name;
}
public Usr setName(String name) {
this.name = name;
return this;
}
public int getAge() {
return age;
}
public Usr setAge(int age) {
this.age = age;
return this;
}
public static Usr build() {
return new Usr();
}
}
Usr usr = Usr.build().setName("张三").setAge(20);
Java有很多组件提供了流式API 。
Query query = create.select(BOOK.TITLE, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME)
.from(BOOK)
.join(AUTHOR)
.on(BOOK.AUTHOR_ID.eq(AUTHOR.ID))
.where(BOOK.PUBLISHED_IN.eq(1948));
String sql = query.getSQL();
List<Object> bindValues = query.getBindValues();
DocumentQuery query = select().from("Person").where(eq(Document.of("_id", id))).build();
Optional<Person> person = documentTemplate.singleResult(query);
System.out.println("Entity found: " + person);
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删