背景 在这个文章中,我们将讨论如何创建一个只读的Spring Data Repository。 有时有必要从数据库中读取数据而无需修改它。在这种情况下,拥有一个只读的Repository接口将是完美的。 它将提供读取数据的功能,不会有修改数据的风险。 添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</art…
背景 在这个文章中,我们将讨论如何创建一个只读的Spring Data Repository。 有时有必要从数据库中读取数据而无需修改它。在这种情况下,拥有一个只读的Repository接口将是完美的。 它将提供读取数据的功能,不会有修改数据的风险。 添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</art…
前言 我们有时候希望在spring boot应用启动之后执行一段代码,且只执行一次,这时候可以使用CommandLineRunner。 使用方式 你可以直接在 @SpringBootApplication 或者 @Configuration 等配置文件里直接声明这个bean: @Bean public CommandLineRunner myCommandLineRunner(){ return args -> { System.out.println("Hello CommandLineRunne…
前言 okhttp是一个使用广泛的http库,虽然其在安卓开发使用比较多,但它使用起来简单,不会出现httpclient那样换一个版本使用方式就不同的情况,本文介绍了如何使用okhttp发起application/json类型的请求 编码 首先我们需要创建一个OkHttpClient实例: OkHttpClient client = new OkHttpClient().newBuilder().build(); 然后构造Request RequestBody requestBody = RequestBody.c…
Spring Boot项目中,Tomcat的默认端口是8080,但是当8080端口被占用的时候,我们应该如何修改端口号呢? 方法一:修改配置文件 如果你使用的是application.yml,那么你可以按照如下的方式新增或修改: server: port: 9090 如果你使用的是application.properties,那么你可以按照下面的方式配置: server.port = 9090 方法二:修改启动参数 Spring Boot支持两种启动参数,一种是: java -Dserver.port=9090 -…
前言 querydsl是一个可以构建查询语句的java框架,它可以很方便的和jpa结合在一起使用,大大的简化了jpa语句的编写,再配合spring-data-jpa,大部分场景下都不需要编写hql语句了。本文将介绍如何在spring-boot中配合spring-data-jpa来使用querydsl 简单示例 你需要先添加依赖: <dependency> <groupId>com.querydsl</groupId> <artifactId>querydsl-jpa&…
前言 对于Spring Boot的controller,相必大家已经很熟悉了,@RequestMapping可以加在类上面,也可以加在方法上面,但是对于一些比较特殊的场景,你有想过该这个注解是如何工作的吗? 示例 我举个例子,下面这段代码,我应该通过哪个url才能调用到hello1方法呢? @RestController @RequestMapping public class TestController { @RequestMapping public String hello1() { return &quo…
1.简介 在这个简短的教程中,我们将介绍如何发送包含压缩数据的HTTP请求。 此外,我们将介绍如何配置Spring Web应用程序以便处理压缩请求。 2.发送压缩请求 首先,我们创建一个能够压缩字节数组的方法: 我们将一个字节数组进行了GZIP压缩。 接下来,我们需要实现ClientHttpRequestInterceptor来修改请求。请注意,我们都将发送适当的HTTP压缩标头以及调用我们的上文中的压缩方法: 我们的拦截器使用出站请求体并使用GZIP格式对其进行压缩。在这个例子中,我们使用Java的标准GZIPO…
前言 我们有时候希望在spring boot应用启动之后执行一段代码,且只执行一次,这时候可以使用CommandLineRunner。 使用方式 你可以直接在 @SpringBootApplication 或者 @Configuration 等配置文件里直接声明这个bean: @Bean public CommandLineRunner myCommandLineRunner(){ return args -> { System.out.println("Hello CommandLineRunne…
前言 我们提供接口给前端,或者是其他应用系统,又或者是与第三方对接的时候,总会以json或者是xml的方式与对方交互,本文将介绍使用spring-boot的时候,如何将想响应自动转换为json或者xml格式的字符串 手动调用第三方库转换 最笨的方法是直接将DTO对象转成string类型后返回,如下所示: @RequestMapping("/test1") @ResponseBody public String fastjson() { Map<String, Object> res …