在上一篇文章中,我们使用相同的数据设置了多个PostgreSQL实例。
下一步将是使用这两个服务器来配置spring项目。


如前所述,由于我们使用完全相同的数据库,因此我们将使用Spring Boot JPA帖子中的一些代码。

这将是我们的gradle构建文件

 plugins { id 'org.springframework.boot' version '2.1.9.RELEASE' id 'io.spring.dependency-management' version '1.0.8.RELEASE' id 'java'  }  group = 'com.gkatzioura'  version = '0.0.1-SNAPSHOT'  sourceCompatibility = '1.8'  repositories { mavenCentral()  }  dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation "org.postgresql:postgresql:42.2.8" testImplementation 'org.springframework.boot:spring-boot-starter-test'  } 

现在,让我们基于上一个博客上创建的表来创建模型。

 package com.gkatzioura.springdatareadreplica.entity;  import javax.persistence.Column;  import javax.persistence.Entity;  import javax.persistence.GeneratedValue;  import javax.persistence.GenerationType;  import javax.persistence.Id;  import javax.persistence.Table;  @Entity  @Table (name = "employee" , catalog= "spring_data_jpa_example" )  public class Employee { @Id @Column (name = "id" ) @GeneratedValue (strategy = GenerationType.IDENTITY) private Long id; @Column (name = "firstname" ) private String firstName; @Column (name = "lastname" ) private String lastname; @Column (name = "email" ) private String email; @Column (name = "age" ) private Integer age; @Column (name = "salary" ) private Integer salary; public Long getId() { return id; } public void setId(Long id) { this .id = id; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this .firstName = firstName; } public String getLastname() { return lastname; } public void setLastname(String lastname) { this .lastname = lastname; } public String getEmail() { return email; } public void setEmail(String email) { this .email = email; } public Integer getAge() { return age; } public void setAge(Integer age) { this .age = age; } public Integer getSalary() { return salary; } public void setSalary(Integer salary) { this .salary = salary; }  } 

下一步是创建spring数据存储库。

 package com.gkatzioura.springdatareadreplica.repository;  import org.springframework.data.jpa.repository.JpaRepository;  import com.gkatzioura.springdatareadreplica.entity.Employee;  public interface EmployeeRepository extends JpaRepository<Employee,Long> {  } 

另外,我们将添加一个控制器。

 package com.gkatzioura.springdatareadreplica.controller;  import java.util.List;  import org.springframework.web.bind.annotation.RequestMapping;  import org.springframework.web.bind.annotation.RestController;  import com.gkatzioura.springdatareadreplica.entity.Employee;  import com.gkatzioura.springdatareadreplica.repository.EmployeeRepository;  @RestController  public class EmployeeContoller { private final EmployeeRepository employeeRepository; public EmployeeContoller(EmployeeRepository employeeRepository) { this .employeeRepository = employeeRepository; } @RequestMapping ( "/employee" ) public List<Employee> getEmployees() { return employeeRepository.findAll(); }  } 

它所要做的只是在application.yaml中添加正确的属性。

 spring: datasource: platform: postgres driverClassName: org.postgresql.Driver username: db-user password: your-password url: jdbc:postgresql: //127.0.0.2:5432/postgres url: jdbc:postgresql: //127.0.0.2:5432/postgres url: jdbc:postgresql: 

如今,Spring Boot使得不必理会任何JPA配置。

这是运行该应用程序所需的全部。 应用程序运行后,只需尝试获取员工即可。

 curl http: //localhost :8080 /employee 

如您所见,我们没有进行任何JPA配置。 由于Spring Boot 2指定数据库url就足以启动自动配置并为您完成所有此配置。

但是,在我们的情况下,我们希望具有多个数据源和实体管理器配置。 在下一篇文章中,我们将为我们的应用程序配置实体管理器。

翻译自: https://www.javacodegeeks.com/2019/10/read-replicas-and-spring-data-configuring-the-base-project.html

阅读副本和Spring Data第2部分:配置基础项目相关推荐

  1. datav本地部署 java,Spring Boot对Spring Data JPA的自动配置

    一 点睛 Spring Boot对Spring Data JPA的自动配置放置在如下路径: 二 源码分析 1 JpaRepositoriesAutoConfiguration类分析 @Configur ...

  2. Spring Boot文档阅读笔记-使用Spring Data JPA连接多源数据库(MySQL和Oracle)

    下面这个小项目展示了如何连接2个数据库,一个是Oracle,一个是MySQL. 关键的Maven依赖: <dependency><groupId>org.springframe ...

  3. Java Spring Data Redis实战与配置参数详解 application.properties...

    Redis作为开源分布式高并发缓存,使用范围非常广泛,主流互联网公司几乎都在使用. Java Spring Boot 2.0实战开发Redis缓存可以参考下面的步骤,Redis安装可以直接使用Linu ...

  4. Spring Data Solr教程:配置

    在我的Spring Data Solr教程的上一部分中,我们了解到Solr提供了一个类似REST的HTTP API,该API可用于向Solr索引添加信息并针对索引数据执行查询. 问题在于,在开发环境中 ...

  5. Java Spring Data Redis实战与配置参数详解 application.properties

    Redis作为开源分布式高并发缓存,使用范围非常广泛,主流互联网公司几乎都在使用. Java Spring Boot 2.0实战开发Redis缓存可以参考下面的步骤,Redis安装可以直接使用Linu ...

  6. spring 配置只读事务_只读副本和Spring Data第1部分:配置数据库

    spring 配置只读事务 这是有关我们为利用只读副本来提高应用程序性能而寻求的一系列博客文章. 对于这个项目,我们的目标是建立我们的spring数据应用程序,并使用read仓库进行写操作,并基于re ...

  7. spring 配置只读事务_只读副本和Spring Data第3部分:配置两个实体管理器

    spring 配置只读事务 我们之前的设置可以正常工作. 我们现在要做的是进一步发展,并配置两个单独的实体管理器,而不会影响我们之前实现的功能. 第一步是将默认实体管理器配置设置为主要配置. 这是第一 ...

  8. 只读副本和Spring Data第1部分:配置数据库

    这是有关我们为利用只读副本来提高应用程序性能而寻求的一系列博客文章. 对于这个项目,我们的目标是建立我们的spring数据应用程序,并使用read仓库进行写操作,并基于read副本进行读操作. 为了模 ...

  9. 只读副本和Spring Data第3部分:配置两个实体管理器

    我们之前的设置可以正常工作. 我们现在要做的是进一步发展,并配置两个单独的实体管理器,而不会影响我们之前实现的功能. 第一步是将默认的实体管理器配置设置为主要配置. 这是第一步 package com ...

最新文章

  1. 将AspectJ与NetBeans平台开发集成
  2. php-5.2.6安装,php5.2.6安装openssl.o扩展,make时报错?
  3. django中的CSRF
  4. 【LeetCode】【HOT】21. 合并两个有序链表(递归)
  5. [置顶] Mysql存储过程入门知识
  6. Python 基础—— operator 模块、functools
  7. 南昌有什么软件测试专业的学校,南昌哪家软件测试培训班比较靠谱
  8. java格式化日期24小时_Java如何格式化24小时格式的时间?
  9. python新浪微博爬虫_利用新浪API实现数据的抓取\微博数据爬取\微博爬虫
  10. wps2019将表格数据转换成工资条的操作方法
  11. JAVA的0x1b分隔符_hive 特殊分隔符 0X1B
  12. 甘谷2021年高考成绩查询入口,筑梦百天,赢在高考|甘谷一中2021届高考百日誓师大会...
  13. 超帅的C核心相关总结
  14. 大数据之Hadoop3简单入门(一)(通俗易懂)
  15. vsc 代码另起一行_VSCode 快捷键大全
  16. 布谷鸟哈希函数的参数_Cuckoo Hash 布谷鸟哈希
  17. Spark程序设计进阶
  18. 男性健身全攻略 男人4大方法快速塑形
  19. 装饰模式:换装系统设计
  20. Camera in ROS and VISCA

热门文章

  1. P5787 二分图 /【模板】线段树分治(线段树分治、并查集)
  2. YBTOJ洛谷P1407:稳定婚姻(强连通分量)
  3. 8.12模拟:dp递推
  4. jzoj1281-旅行【dp】
  5. Codeforces Round #658 (Div. 2)
  6. 三元环计数四元环计数
  7. Wannafly挑战赛19
  8. JavaFX中WebView的java与JS代码互相调用
  9. Mybatis-Plus基本
  10. Servlet使用适配器模式进行增删改查案例(DeptDaoImpl.java)