有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用spring和springboot应用程序配置数据库?我想知道如何回答这类问题?

在我最近的一次Java Microservices开发人员访谈中,有人问我这样一个问题:“如何使用spring和/或spring引导应用程序配置数据库?应用程序如何理解这一点?”

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

但是,尽管如此,面试官还是不同意我的回答,继续问同样的问题。(我记得采访者问我关于JDBC模板和我在spring/SpringBoot中使用的JDBC方法的事)

有人能帮我理解我在这里遗漏了什么吗?面试后我快发疯了

我担心如何回答这样的面试问题


共 (2) 个答案

  1. # 1 楼答案

    面试官提出的问题相当模糊,这在很大程度上取决于项目的要求,以及已经在使用的实践,不采取一定程度的努力来迁移到不同的工作流。我通常都使用可伸缩的微服务,我们使用Spring数据在停靠的SpringBoot服务中维护一个单独的存储库层

    给猫剥皮的方法有上百万种,但不必深入讨论细节,我的服务安排如下:

    带有类注释的@Configuration类将@Bean作为数据库的主要访问点

    通常,@Service层会在不知道查询的情况下,将数据库的底层工作传递给标记为@repository的存储库接口类

    repository接口实现类也标记为@repository,如果需要,还标记为@Scoped和@CacheConfig
    这个实现是执行所需查询/事务的关键部分,只传入相关的修饰符/术语。 实现执行一个对象,并将其返回给服务层,而服务层做什么都不知道,反之亦然。使类更小、更易于维护,你会发现如果项目足够大,层可能会被重构和泛化更多,以便重用。这个模板可以在所有的微服务中使用,可能是一个内部库

  2. # 2 楼答案

    由于这个问题没有具体的答案,我认为面试官可能在寻找一个答案,比如如何在springboot中配置数据源或多个数据源。看看here 如果您使用的是Spring JDBC,那么如何使用diff模板从代码中进行查询呢