Java 在Spring引导应用程序中使用Spring数据JDBC
我正在寻找有关如何在SpringBoot应用程序中配置SpringDataJDBC的信息(最好是一个Gradle示例) 我已经通读了,我知道我需要为每个域类(或域类的“聚合”)定义一个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
存储库实现,例如
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@Donalorg.springframework.boot spring启动程序数据jdbc
您不需要为spring数据CRUDEPOSI添加注释Tror接口与<代码> @存储库< /代码>!Spring数据将为您创建实现bean。在Spring数据存储库中使用<代码> @存储库< /代码>是多余的。我也不认为它是一个好习惯或干净代码,但是噪音。@ JssShandER,您在Pivotal工作,所以我相信您,并将您的建议作为“谢谢依赖项看起来不正确,我想使用Spring数据JDBC,而不是JDBCJPA@Donalorg.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中是否相同。但应该是这样。