Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Spring引导应用程序中使用Spring数据JDBC_Java_Spring_Spring Boot_Spring Data_Spring Data Jdbc - Fatal编程技术网

Java 在Spring引导应用程序中使用Spring数据JDBC

Java 在Spring引导应用程序中使用Spring数据JDBC,java,spring,spring-boot,spring-data,spring-data-jdbc,Java,Spring,Spring Boot,Spring Data,Spring Data Jdbc,我正在寻找有关如何在SpringBoot应用程序中配置SpringDataJDBC的信息(最好是一个Gradle示例) 我已经通读了,我知道我需要为每个域类(或域类的“聚合”)定义一个存储库实现,例如 interface UserRepository扩展了crudepository{ //自定义查询方法 长countByLastname(字符串lastname); } 但是还不完全清楚需要添加哪些依赖项,如何将存储库bean注入到其他bean中,如何指定Spring在哪里可以找到存储库bean

我正在寻找有关如何在SpringBoot应用程序中配置SpringDataJDBC的信息(最好是一个Gradle示例)

我已经通读了,我知道我需要为每个域类(或域类的“聚合”)定义一个
存储库
实现,例如

interface UserRepository扩展了crudepository{
//自定义查询方法
长countByLastname(字符串lastname);
}
但是还不完全清楚需要添加哪些依赖项,如何将存储库bean注入到其他bean中,如何指定Spring在哪里可以找到存储库bean,等等

我特别想了解如何定义一个管理多个表/域类的存储库。例如,管理
订单
及其
订单项
集合的存储库。中的示例仅显示如何将单个域类映射到存储库

需要添加哪些依赖项

如何指定Spring在哪里可以找到存储库bean

Spring Boot将自动扫描主类中定义了
@SpringBootApplication
的包(和子包)

另外,请使用
@Repository
注释您的界面:-

@Repository
interface UserRepository extends CrudRepository<User, Long> {
@存储库
接口UserRepository扩展了Crudepository{
需要添加哪些依赖项

如何指定Spring在哪里可以找到存储库bean

Spring Boot将自动扫描主类中定义了
@SpringBootApplication
的包(和子包)

另外,请使用
@Repository
注释您的界面:-

@Repository
interface UserRepository extends CrudRepository<User, Long> {
@存储库
接口UserRepository扩展了Crudepository{

由于您使用Spring Boot开发应用程序,因此可以利用starter Spring模块。在特定情况下,依赖关系将是

implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
如果您配置了Gradle Spring插件,模块版本将自动获取

id 'org.springframework.boot' version '2.1.2.RELEASE' // Your version
创建自定义
存储库
接口时,只需使用类注释
@Repository
对其进行注释。Spring自动配置扫描机制将自动拾取它们(记住将它们放置在子包中,将
@SpringBootApplication
注释类作为根)

然后,您可以使用构造函数注入
@Autowire
将存储库存储在服务中,或任何您想要的内容中

@Autowired
MyClass(final MyRepository repository) { ... }
请注意,如果只有一个构造函数,则不需要指定
@Autowired
注释


顺便说一句,Data JDBC是一个非常新的项目。有一些限制,但我想您已经在Data JDBC文档中找到了它们。

因为您使用Spring Boot来开发应用程序,您可以利用starter Spring模块。在特定情况下,依赖关系是

implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
如果您配置了Gradle Spring插件,模块版本将自动获取

id 'org.springframework.boot' version '2.1.2.RELEASE' // Your version
创建自定义
存储库
接口时,只需使用类注释
@Repository
对其进行注释。Spring自动配置扫描机制将自动拾取它们(记住将它们放置在子包中,将
@SpringBootApplication
注释类作为根)

然后,您可以使用构造函数注入
@Autowire
将存储库存储在服务中,或任何您想要的内容中

@Autowired
MyClass(final MyRepository repository) { ... }
请注意,如果只有一个构造函数,则不需要指定
@Autowired
注释


顺便说一句,数据JDBC是一个非常新的项目。有一些限制,但我想您已经在数据JDBC文档中找到了它们。

依赖项看起来不正确,我想使用Spring数据JDBC,而不是JPA@Donal
org.springframework.boot spring启动程序数据jdbc
您不需要为spring数据CRUDEPOSI添加注释Tror接口与<代码> @存储库< /代码>!Spring数据将为您创建实现bean。在Spring数据存储库中使用<代码> @存储库< /代码>是多余的。我也不认为它是一个好习惯或干净代码,但是噪音。@ JssShandER,您在Pivotal工作,所以我相信您,并将您的建议作为“谢谢依赖项看起来不正确,我想使用Spring数据JDBC,而不是JDBCJPA@Donal
org.springframework.boot-spring-boot-starter数据jdbc
您不需要用
@Repository
注释您的spring数据存储接口!spring数据将为您创建实现bean。使用
@RepOSLATION/CODE在Spring数据仓库中是多余的。我也不认为这是一个好习惯或干净代码,但是噪音。JjsShandER,你在Pivotal工作,所以我相信你,把你的建议当成“好的。谢谢。我刚刚从几个月前我在Data JPA上做的一个项目中得到了一个闪回。因为你在使用Boot,所以不需要在自定义存储库上进行注释。Boot的另一个好的方面;)只需验证它在JDBC中是否相同。但应该是这样。我刚刚从几个月前在Data JPA上做的一个项目中得到了一个闪回。因为你在使用Boot,anno自定义存储库上的tations是不需要的。Boot的另一个好处是;)只需验证它在JDBC中是否相同。但应该是这样。