firestore integration in spring code example

Example: springboot add to collection firebase

// Assuming that you have the google sdk setup correctly
package za.co.migal.service;

import com.google.api.core.ApiFuture;
import com.google.cloud.firestore.DocumentReference;
import com.google.cloud.firestore.Firestore;
import com.google.firebase.cloud.FirestoreClient;
import org.springframework.stereotype.Service;

@Service()
public class MyPojoService {
  private Firestore firestore;
  private static final String MY_POJO_COLLECTION = "myPojo";
  
  public boolean addMyPojo(MyPojo myPojo) {
    firestore = FirestoreClient.getFirestore();
    ApiFuture<DocumentReference> myPojoRef = firestore.
      collection(MY_POJO_COLLECTION).
      add(myPojo);
    return myPojoRef.isDone();
  }
}

// MyPojo class
package za.co.migal.pojo;

import com.google.api.core.ApiFuture;
import com.google.cloud.firestore.DocumentReference;
import com.google.cloud.firestore.Firestore;
import com.google.firebase.cloud.FirestoreClient;

// FYI
// I usually use Lombok @Data instead of adding getters and setters
// @Data removes boiler point code, it just makes the code alot cleaner 
public class MyPojo {
  private String myVariable;
  private int myIntVariable;
  
  public String getMyVariable() {
    return myVariable;
  }
  public void setMyVariable(String myVariable) {
    this.myVariable = myVariable;
  }
  public int getMyIntVariable() {
    return myIntVariable;
  }
  public void setMyIntVariable(int myIntVariable) {
    this.myIntVariable = myIntVariable;
  }
  
  @Override
  public String toString() {
    return "Option{" +
      "myVariable='" + myVariable + '\'' +
      ", myIntVariable=" + myIntVariable +
      '}';
  }
  
  @Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    Option option = (Option) o;
    return myIntVariable == option.myIntVariable &&
      myVariable.equals(option.myVariable);
  }

  @Override
  public int hashCode() {
    return Objects.hash(myVariable, myIntVariable);
  }
}

Tags:

Java Example