如何用你的spring和springboot应用配置数据库?我很想知道应该如何回答这类问题?

问题描述 投票:0回答:1

在我最近的一次Java微服务开发者面试中,我被问到这样一个问题 "你如何用你的spring andor spring-boot应用配置数据库?应用程序又是如何理解的?

我回答了面试官,解释了我是如何使用JPA来连接我的spring-boot应用程序中的数据库的。我也解释了我如何在我的应用程序中使用JDBC(所有的步骤包括导入JDBC包,加载和注册JDBC驱动程序,打开一个连接到数据库,创建一个语句对象来执行查询,执行语句对象并返回一个查询结果集,处理结果集,关闭结果集和语句对象,关闭连接)。

但是,面试官还是对我的回答不满意,一直在问同样的问题。(我记得中间某个地方面试官问了我在springpring-boot中使用的JDBC模板和JDBC方法)

谁能帮我理解一下,我在这里缺什么?我都快被面试搞疯了。

我很担心,应该如何回答这种类型的面试问题?

java spring spring-boot jpa jdbc
1个回答
1
投票

由于这个问题没有具体的答案,我想面试官可能会寻找一个答案,比如,如何在springboot中配置dataSource或多个数据源。请看一下 此处如果你使用的是Spring JDBC,你怎么能使用差异模板从代码中进行查询呢?


1
投票

面试官提出的问题很模糊,很大程度上取决于项目的需求,已经在使用的实践是什么,要不要采用一个层面的努力去迁移到不同的工作流。 我一般都是用可扩展的微服务工作,我们用Spring Data在我们的docker化SpringBoot服务中维护一个独立的仓库层。

剥猫皮的方法有一百万种,但我不深究细节,我的工作服务是这样安排的。

一个类注解的@Configuration类维护了一个@Bean作为你访问数据库的主要点。

通常一个@服务层会把params,在不知道DB的查询、底层工作的情况下,传递给一个标记为@Repository的仓库接口类。

仓库接口实现类也标记为@Repository,如果需要的话还可以标记为@Scoped和@CacheConfig。这个Implementation是肉和土豆,它执行需要的查询交易,只有相关的modifiersterms被传递进来.Implementation执行,并返回一个对象到服务层,没有服务层做什么,反之亦然。 使得类的体积更小,更易维护,而且你会发现如果项目足够大的话,这些层可能会被重构,并被更多地生成,以便重复使用。这个模板可以在所有的微服务中使用,作为可能的内部库。

© www.soinside.com 2019 - 2024. All rights reserved.