gpt4 book ai didi

java - Spring 数据 : several implementations

转载 作者:行者123 更新时间:2023-11-30 02:31:32 27 4
gpt4 key购买 nike

在通常的 Spring MVC 中,我可以创建一个 Dao 接口(interface)以及针对不同 Spring 配置文件的该接口(interface)的多个实现。但如果我想实现 Spring Data,就会出现一个问题:如何创建这些实现?添加自定义存储库的想法,描述 here ,从来没有解决这个问题...

示例。道:

public interface DaoExample extends JpaRepository<User, Long>, DaoExampleCustom {
}

Dao自定义:

public interface DaoExampleCustom {

void someMethod(User user);
}

DaoExampleImpl:

@Profile("someProfile")
public class DaoExampleImpl implements DaoExampleCustom {
@Override
public void someMethod(User user) {

}
}

虽然 DaoExample 和 DaoExampleImpl 属于不同的配置文件,但此代码将无法启动。此外,如果我想为不同的配置文件创建多个 DaoExampleImpl 该怎么办?我应该将它们命名为 DaoExampleImpl1、DaoExampleImp2 等。但这违反了 Spring Data 的命名约定。这是否意味着如果我需要为多个 Spring 配置文件创建 dao 层,我应该完全避免使用 Spring Data?

最佳答案

如果我理解正确,你需要多个 DaoExampleImpl

@Profile("someProfile")
public class DaoExampleImpl implements DaoExampleCustom

@Profile("someProfile2")
public class DaoExampleImpl implements DaoExampleCustom

您不能将它们放在单独的包中并根据所需的配置文件调整包扫描以包含必要的包吗?因此 Spring 数据命名约定是安全的,您可以使用不同的实现。只是一个想法。

关于java - Spring 数据 : several implementations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44182162/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com