通过Spring的依赖注入将web3j集成到Spring Boot应用程序中。此处提供了示例应用程序:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
package org.web3j.examples; import java.io.IOException; import org.apache.http.conn.HttpHostConnectException; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import static org.assertj.core.api.Assertions.assertThat; @RunWith(SpringRunner.class) @SpringBootTest public class SpringBootWeb3jSampleApplicationTest { @Autowired private Web3jSampleService web3jSampleService; // This test will only run if you provide a real Ethereum client for web3j to connect to @Test(expected = HttpHostConnectException.class) public void testGetClientVersion() throws IOException { assertThat(web3jSampleService.getClientVersion()).startsWith("Geth/"); } } |
要使用这个github示例,请创建一个新的Spring Boot应用程序,并包含以下依赖项:
Maven:
1 2 3 4 5 |
<dependency> <groupId>org.web3j</groupId> <artifactId>web3j-spring-boot-starter</artifactId> <version>1.6.0</version> </dependency> |
Gradle:
1
|
compile ('org.web3j:web3j-spring-boot-starter:1.6.0')
|
现在,Spring可以为你提供web3j实例,如果你需要它们:
1 2 |
@Autowired private Web3j web3j; |
如果要通过HTTP连接到默认URLhttp://localhost:8545
,则无需其他配置。
否则,只需在应用程序属性中添加端点的地址:
1 2 3 4 5 |
# An infura endpoint web3j.client-address = https://rinkeby.infura.io/ # Or, an IPC endpoing web3j.client-address = /path/to/file.ipc |
管理客户端
如果你希望使用Parity和Geth共有的personal模块方法管理帐户,启用管理客户端:
1
|
web3j.admin-client = true
|
然后Spring可以注入管理客户端:
1 2 |
@Autowired private Admin admin; |
HTTP客户端配置
某些以太坊操作所需的时间超过了web3j使用的OkHttp3库设置的默认HTTP超时。要配置这些超时,请设置web3j httpTimeoutSeconds
属性:
1
|
web3j.httpTimeoutSeconds = 600
|
这将设置所有三个OkHttp3超时:connect
,read
,write
。
有效值是任何非负整数。
如果设置值为“0”表示no timeout
没有超时。
注意:与web3j进行交易不需要这样做。
更多的信息
有关web3j的更多信息,请参阅web3j主页中文版。
分享一些以太坊、EOS、比特币等区块链相关的交互式在线编程实战教程:
- java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
- java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
相关推荐
java 使用 Swagger 创建一个Spring Boot 的 Web 服务java 使用 Swagger 创建一个Spring Boot 的 Web 服务java 使用 Swagger 创建一个Spring Boot 的 Web 服务java 使用 Swagger 创建一个Spring Boot 的 Web 服务java...
Spring Boot 是一个由 Pivotal 团队开发的框架,旨在简化Spring应用的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如数据库、日志、安全等,极大地提高了开发效率。在"Spring Boot web 访问"这个主题中...
通过这个简单的实例,你可以建立起对Spring Boot、Maven和Eclipse集成应用的基础理解,为进一步的Java Web开发打下坚实的基础。同时,它也鼓励你探索更多Spring Boot的高级特性,以及如何与其他流行技术(如前端框架...
《Spring Boot中文开发指南》是一本专为中文开发者编写的实战型教程,旨在帮助读者深入理解和熟练运用Spring Boot这一强大的Java开发框架。Spring Boot简化了Spring应用的初始搭建以及开发过程,通过“约定优于配置...
《Learning Spring Boot 3.0 - 第三版》是一本专为Java和Spring开发者准备的指南,由Greg L. Turnquist撰写。这本书旨在简化生产级应用程序的开发过程,特别是利用Spring Boot 3.0框架。Spring Boot是Spring生态系统...
在现代Web应用开发中,Vue.js和Spring Boot的结合已经成为了一种常见的前后端分离架构模式。这本《Vue Spring Boot前后端分离开发实战》的源码提供了深入学习和实践这一技术栈的机会。以下是对其中涉及知识点的详细...
在现代的Web应用开发中,Java Spring Boot框架已经成为主流选择,尤其当与JDK的新版本结合使用时,如JDK 17,可以提供高效、便捷的开发体验。本项目"基于 Java 使用 Spring Boot 3 和 JDK 17.zip"正是这样的一个实例...
使用微服务进行Web服务开发并与Spring Boot应用程序集成 无缝添加持久性和数据层,使您的Spring Boot Web应用程序做得更多 使用Spring Boot集成企业服务以创建更复杂的Java应用程序 本书适用于经验丰富的Java和...
Spring Boot 2.5.0 简单学习pdf 资料 Spring Boot 是一个基于Java的开源框架,旨在简化Spring应用程序的搭建和...Spring Boot 2.5.0 提供了许多有用的特性和工具,能够帮助开发者快速搭建和开发 Java Web 应用程序。
标签“spring boot”、“java”、“spring”指出了本书的三个关键词:Spring Boot本身,以及Spring Boot开发所依赖的Java语言和Spring框架。Java作为一门广泛使用的编程语言,是编写Spring Boot应用的主要语言。而...
Java微服务实践是指在微服务架构中使用Java语言开发微服务, Spring Boot则是基于Java语言的框架,提供了许多便捷的功能来快速开发微服务。在微服务架构中,Web容器是必不可少的组件,负责处理HTTP请求和响应。传统...
spring-boot-web:web开发综合使用案例 spring-boot-mail:spring boot和邮件服务 spring-boot-mongodb:spring boot和mongodb的使用 spring-boot-multi-mongodb:spring boot和mongodb多数据源的使用 spring-boot-...
Spring Boot是Java领域的一款热门应用开发框架,它简化了基于Spring的应用程序的初始设置和配置。这个名为"Spring Boot应用开发框架 v2.7.17.zip"的压缩包包含了该版本的源码和相关文档,是学习和开发基于Spring ...
在《Java EE开发的颠覆者,Spring Boot实战》这本书中,作者深入探讨了Spring Boot的各个方面,包括其核心机制、自动配置、起步依赖、内嵌容器、数据访问、安全控制以及微服务构建等。源代码提供了实践操作的平台,...
《Spring Boot实战》是一本深度剖析Spring Boot框架的实践指南,旨在帮助开发者快速掌握Spring Boot的核心概念和技术。这本书深入浅出地介绍了如何使用Spring Boot构建高效、简洁的Java应用程序。随书源码提供了丰富...
Spring Boot 是一个基于 Java 的框架,它简化了创建和配置微服务级的Spring应用程序的过程。Maven 是一个项目管理和综合工具,它帮助开发者管理Java项目的构建、依赖和生命周期。本学习资源包“java maven工程 ...
通过本项目,用户可以学习如何在Spring Boot应用中集成FISCO BCOS,并实现智能合约的部署、调用和查询。 ## 项目的主要特性和功能 1. Spring Boot集成利用Spring Boot框架快速搭建应用,简化配置和开发流程。 2. ...
Spring Boot 是一个由 Pivotal 团队开发的框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如 JDBC、MongoDB、RabbitMQ、Quartz 等,使得开发者可以“零配置”地启动项目,...
在“spring-boot-web-restfulcrud”这个项目中,我们关注的是如何使用 Spring Boot 构建一个基于 Web 的 RESTful CRUD(创建、读取、更新和删除)应用。RESTful 风格是一种软件架构风格,用于设计网络应用程序,通过...
《Spring Boot实战》是针对JavaEE开发领域的一本权威指南,Spring Boot作为JavaEE开发的颠覆者,极大地简化了传统JavaEE应用的复杂性,提高了开发效率。这本书全面覆盖了Spring Boot的核心概念、配置以及实战应用,...