https://niwoxuexi.com/blog/user/146
一、基本介绍1,什么是 JPAJPA 是 Java Persistence API 的简称,中文名 Java 持久层 API。我们都知道 Hibernate 框架是一个 ORM 框架,而 JPA 则是一种 ORM 规范。JPA 和 Hibernate 的关系就像是 JDBC 与 JDBC 驱动的关系,即 JPA 制定了 ORM 规范,而 Hibernate 是这些规范的实现。因此从功能来说,JPA ...
所谓多数据源,就是一个 Java EE 项目中采用了不同数据库实例中的多个库,或者同一个数据库实例中多个不同的库。MyBatis 也可以配置多数据源,下面通过样例进行演示。三、多数据源的配置与使用1,添加依赖首先编辑 pom.xml 文件,添加相关依赖:注意:跟前文相比,这里的数据库连接池依赖改用 druid-spring-boot-starter。druid-spring-boot-starte ...
一、基本介绍1,什么是 MyBatisMyBatis 是一款优秀的持久化框架,原名叫做 iBatis,2010 年改名为 MyBatis。MyBatis 支持定制化 SQL、存储过程以及高级映射。MyBatis 几乎避免了所有的 JDBC 代码手动设置参数以及获取结果集。在传统的 SSM 框架整合中,使用 MyBatis 需要大量的 XML 配置。而在 Spring Boot 中,MyBatis ...
所谓多数据源,就是一个 Java EE 项目中采用了不同数据库实例中的多个库,或者同一个数据库实例中多个不同的库。而 JdbcTemplate 多数据源的配置是比较简单的,因为一个 JdbcTemplate 对应一个 DataSource,开发者只需要手动提供多个 DataSource,再手动配置 JdbcTemplate 即可。下面通过样例进行演示。三、多数据源的配置与使用1,添加依赖首先编辑 ...
一、基本介绍1,什么是 JdbcTemplateJdbcTemplate 是 Spring 提供的一套 JDBC 模版框架,利用 AOP 技术来解决直接使用 JDBC 时大量重复代码的问题。JdbcTemplate 虽然没有 MyBatis 那么灵活,但是比直接使用 JDBC 要方便很多。2,安装配置(1)首先编辑 pom.xml 文件,添加相关依赖:spring-boot-starter-jdb ...
Spring Boot 项目启动后,默认会去查找 index.html 文件作为首页面。当然我们可以指定其它页面作为首页面,下面通过样例进行演示。 一、使用 index.html 作为首页面1,静态首页Spring Boot 项目在启动后,首先回去静态资源路径(resources/static)下查找 index.html 作为首页文件。 2,动态首页 如果在静态资源路径(resources/ ...
一、基本介绍1,什么是 AOP(1)AOP 为 Aspect Oriented Programming 的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。(2)利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。一个 AOP 的使用场景: 假设一个已经上线的系统运行出现问题,有时 ...
使用 Spring Boot 开发项目之后,就基本上告别 Servlet、Filter 和 Listener 了。但是有时在整合一些第三方框架时,可能还是不得不使用 Servlet。Spring Boot 中对于整合这些基本的 Web 组件也提供了很好的支持,下面通过样例进行演示。1,定义组件(1)下面代码代码定义一个基本的 Servlet 组件,并使用 @WebServlet 注解进行标注。@W ...
1,问题描述 默认情况下,当我们使用 maven 对项目进行打包的时候,Spring Boot 都会对我们的测试类进行预测试,并且进行数据库的预连接。如果测试不通过或者数据库连接不上,那么就无法打包成功! 但有时我们打包的环境确实无法连上目标数据库(或者其它一些服务),这时候 maven 打包就会中断,无法成功打成 jar 包。 2,解决办法 如果想要让 spring boot 打包时跳过这些 ...
本文是对前一篇文章关于请求异常处理(点击查看)的补充。有时当我们调用一个接口可能由于网络等原因造成第一次请求失败,如果再去尝试可能就成功了,这就是重试机制。下面演示如何结合 Spring Retry 实现请求发生异常时自动进行重试(重新发起请求)。十一、请求异常自动重试1,安装配置(1)编辑项目 pom.xml 文件,添加 Spring Retry 相关依赖。<!-- 重试机制 --> ...
当我们使用 RestTemplate 发送请求时, 如果接口返回的不是 200 状态(而是 4xx、5xx 这样的异常状态),则会抛出异常报错。 但在实际接口对接中,我们可能希望获取接口返回的异常信息并返回(比如返回到前端)。这个可以通过自定义 RestTemplate 异常的处理来实现,下面通过样例进行演示。十、请求异常处理1,简单的样例代码(1)首先我们需要创建一个自己的异常处理控制器(Exc ...
九、文件上传1,效果图(1)下面通过样例演示如何使用 RestTemplate 上传文件。这里使用 Form 表单的方式进行提交,上传时除了一个文件外还附带有两个自定义参数。(2)接收端收到文件后会打印出相关参数、以及文件相关数据,并返回成功信息。(3)发送方收到反馈后将反馈信息打印出来: 2,样例代码(1)文件发送端代码如下:@RestController public class Hell ...
八、文件下载1,简单的文件下载(1)最简单的下载文件方式就是使用的是 restTemplate 调用 getForEntity 获取到字节数组,再将字节数组通过 java 8 的 Files 工具类的 write 方法,直接写到目标文件。 该方式的缺点:由于需要将文件的字节数组全部放入内存中,极其消耗资源。当遇到大文件时,内存加载可能会造成 OutOfMemoryError。(2)下面是一个简单的 ...
七、通用请求方法:exchange1,方法介绍(1)exchange 的用法同前面介绍的 getForEntity、postForEntity 差不多,且返回的都是 ResponseEntity<T>:ResponseEntity<T> 是 Spring 对 HTTP 请求响应的封装,包括了几个重要的元素,如响应码、contentType、contentLength、响应消 ...
四、POST 请求1:postForObject() 方法的使用1,方法介绍 postForObject() 用于发送一个 HTTP POST 请求。它和 postForEntity() 用法几乎相同。区别在于 postForObject() 返回值返回的是响应体,省略了很多 response 的信息。2,发送一个 JSON 格式数据(1)下面代码使用 post 方式发送一个 Bean 对象,并将 ...