衍生星球
程序员
阅读者
前行人
展开
-
【Spring Boot】Spring Boot集成RabbitMQ
Spring Boot提供了`spring-boot-starter-amqp`组件,只需要简单地配置即可与Spring Boot无缝集成。下面通过示例演示集成RabbitMQ实现消息的接收和发送。原创 2023-10-24 17:02:45 · 1418 阅读 · 0 评论 -
【Spring Boot】RabbitMQ消息队列 — RabbitMQ入门
RabbitMQ基于开源的AMQP协议实现,服务器端用Erlang语言编写,支持多种客户端,如Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP、AJAX等。原创 2023-10-12 11:46:51 · 673 阅读 · 0 评论 -
【Spring Boot】实战:实现Session共享
将所有的Session会话信息存入Redis缓存中,然后Web应用从Redis中取出Session信息实现所有应用的Session共享。然后,启动项目,运行一个程序实例,启动端口号为8080,在浏览器中输入地址:http://localhost:8080/uid,页面返回会话的sessionId,如图所示。从图可以看出,所有的服务都将Session信息存储到Redis中,无论是对Session的注销、更新都会同步到Redis中,从而达到Session共享的目的。原创 2023-09-25 15:55:25 · 500 阅读 · 0 评论 -
【Spring Boot】实战:实现数据缓存框架
这5个注解除了@CacheConfig是类级别的注解之外,其余4个注解在类和方法上均可使用,使用在类上时表示对该类下的所有方法生效,使用在方法上时只对该方法生效,并且只能用于public修饰的方法,而protected或者private修饰的方法则不适用。通过上面的日志输出可以看到,首次调用getPersonByName()方法请求User数据时,由于缓存中未保存该数据,因此从数据库中获取User信息并存入Redis缓存,再次调用会命中此缓存并直接返回。Key的生成规则是:类名+方法名+参数名。原创 2023-09-25 11:48:20 · 411 阅读 · 0 评论 -
【Spring Boot】操作Redis数据结构
因为Redis每存储一个key都会占用一个内存空间,key太多会消耗不必要的内存,也不方便数据的管理,因此合理地使用Hash(哈希)可以减少key的数量,也能节省内存。我们可以利用这个特性来实现具有权重的队列,比如普通消息的Score为1,重要消息的Score为2,然后消费线程可以选择按Score的倒序来获取相关数据。根据这个特性可以实现优先队列的功能。原创 2023-09-18 16:08:32 · 569 阅读 · 1 评论 -
【Spring Boot】Spring Boot集成Redis实现数据缓存
缓存数据的修改也特别简单,重新调用set()方法即可,Redis会判断key是否存在,若存在则更新缓存的数据。通过上面的示例,首先定义key为“ysxq”的BoundValueOperations实例,然后在后续的操作中直接使用定义的boundTemplate实例,操作这个key对应的数据,无须在调用方法中指定key。例如,我们在某个类或方法中需要反复操作某个特定的key中的数据,则可以先定义对应的BoundKeyOperations,然后使用此类重复操作key中的数据,无须再调用方法中指定的key。原创 2023-09-15 15:35:17 · 1087 阅读 · 0 评论 -
【Spring Boot】数据缓存Redis实现高并发 —— Redis入门
Redis是一个开源的Key-Value(键-值)数据库,支持数据的持久化,支持更多的数据结构和更丰富的数据操作,提供了多种语言的API客户端,如Java、C/C++、C#、PHP、JavaScript、Perl、Object-C、Python、Ruby、Erlang等,使用起来简单方便。另外,Redis拥有丰富的集群方案,适合各种复杂的应用场景。因此,Redis是目前使用广泛的开源缓存中间件。原创 2023-09-14 09:12:44 · 629 阅读 · 0 评论 -
【Spring Boot】Spring Boot中的简单查询
JPA除了可以直接使用JpaRepository接口提供的基础功能外,还支持根据实体的某个属性实现数据库操作,Spring Data JPA能够根据其方法名为其自动生成SQL,支持的关键字有find、query、get、read、count、delete等,主要的语法是findByXX、queryByXX、getByXX、readByXX、countByXX等。原创 2023-09-12 14:57:53 · 1177 阅读 · 1 评论 -
【Spring Boot】在Spring Boot项目中使用JPA
JpaRepository是Spring Data JPA中非常重要的类。它继承自Spring Data的统一数据访问接口——Repository,实现了完整的增、删、改、查等数据操作方法。JpaRepository提供了30多个默认方法,基本能满足项目中的数据库操作功能。JpaRepository是实现Spring Data JPA技术访问数据库的关键接口。原创 2023-09-08 14:27:07 · 1054 阅读 · 0 评论 -
【Spring Boot】JPA — JPA入门
其他的SQL语句由Spring自动提供,使得开发者从烦琐的JDBC和SQL代码中解脱出来。虽然主流的ORM框架都实现了JPA规范,但是在不同ORM框架之间切换需要编写各自的代码,而通过使用Spring Data Jpa能够方便开发者在不同的ORM框架之间进行。原创 2023-09-07 10:14:57 · 727 阅读 · 1 评论 -
【Spring Boot】分页查询
分页查询是日常开发中比较常用的功能。MyBatis框架下也有很多插件实现分页功能,比如pageHelper。这是一款非常简单、易用的分页插件,能很好地集成在Spring Boot中。pageHelper是一款基于MyBatis的数据库分页插件,所以我们在使用它时需要使用MyBatis作为持久层框架。原创 2023-09-06 15:01:05 · 889 阅读 · 0 评论 -
【Spring Boot】使用MyBatis注解实现数据库操作
MyBatis还提供了注解的方式,相比XML的方式,注解的方式更加简单方便,无须创建XML配置文件。接下来好好研究注解的使用方式。原创 2023-09-04 16:49:42 · 1268 阅读 · 0 评论 -
【Spring Boot】使用XML配置文件实现数据库操作(一)
MyBatis提供了insert、update、delete和delete四个标签来定义SQL语句。接下来就从SQL语句开始介绍每个标签的用法。原创 2023-08-31 18:24:04 · 1432 阅读 · 0 评论 -
【Spring Boot】Spring Boot结合MyBatis简单实现学生信息管理模块
使用Spring Boot和MyBatis实现一个简单的学生信息管理模块。原创 2023-08-29 08:41:28 · 698 阅读 · 0 评论 -
【Spring Boot】数据库持久层框架MyBatis — Spring Boot构建MyBatis应用程序
将Spring Boot与MyBatis结合使用可以使开发人员更容易地创建和管理数据库应用程序。这些是使用Spring Boot构建MyBatis应用程序的基本步骤。使用Spring Boot和MyBatis可以轻松地创建和管理数据库应用程序。这将告诉MyBatis查找类路径中的mapper文件夹,并使用其中的XML文件。这个接口将定义一个findById方法,它将在数据库中查找具有给定ID的用户。原创 2023-08-28 15:05:51 · 1324 阅读 · 0 评论 -
【Spring Boot】数据库持久层框架MyBatis — MyBatis简介
ORM(Object Relational Mapping,对象关系映射)是为了解决面向对象与关系数据库存在的互不匹配现象的一种技术。简单地说,ORM通过使用描述对象和数据库之间映射的元数据将程序中的对象自动持久化到关系数据库中。当我们开发应用程序时,需要编写大量的数据访问层代码,用来操作数据库中的数据,这些代码要么是大量重复的代码,要么操作特别烦琐。针对这些问题,ORM提供了完善的解决方案,简化了将对象持久化到关系数据库中的操作。原创 2023-08-24 09:51:49 · 509 阅读 · 0 评论 -
【Spring Boot】JdbcTemplate数据连接模板 — 实战:实现JdbcTemplate多数据源
所谓多数据源,其实就是在一个项目中使用多个数据库实例中的数据库或者同一个数据库实例中多个不同的库。在实际开发中可能会遇到需要配置多个数据源的情况,比如项目需要使用业务数据库和日志数据库等多个数据库,或者需要使用多种数据库(如MySQL、Oracle、SQL Server等)。原创 2023-08-22 09:43:58 · 826 阅读 · 0 评论 -
【Spring Boot】JdbcTemplate数据连接模板 — 使用JdbcTemplate操作数据库
成功在Spring Boot项目中集成JdbcTemplate后,如何使用JdbcTemplate数据库连接模板操作数据库呢?接下来以示例演示JdbcTemplate实现学生信息的增、删、改、查等操作,让我们在实践中边学边用,更好地理解和吸收。原创 2023-08-21 10:53:25 · 803 阅读 · 0 评论 -
【Spring Boot】JdbcTemplate数据连接模板 — JdbcTemplate入门
JDBC(Java Data Base Connectivity,Java数据库连接)是Java语言中用来规范应用程序如何访问数据库的API,为多种关系数据库提供统一访问方式,诸如查询和更新数据库中数据的方法。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。原创 2023-08-18 10:38:08 · 1218 阅读 · 0 评论 -
【Spring Boot】构建RESTful服务 — 实战:实现Web API版本控制
前面介绍了Spring Boot如何构建RESTful风格的Web应用接口以及使用Swagger生成API的接口文档。如果业务需求变更,Web API功能发生变化时应该如何处理呢?可以通过Web API的版本控制来处理。原创 2023-08-17 16:48:12 · 1047 阅读 · 0 评论 -
【Spring Boot】构建RESTful服务 — 使用Swagger生成Web API文档
Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务,是非常流行的API表达工具。普通的API文档存在以下问题:1)由于接口众多,并且细节复杂(需要考虑不同的HTTP请求类型、HTTP头部信息、HTTP请求内容等),创建这样一份高质量的文档是一件非常烦琐的工作。2)随着需求的不断变化,接口文档必须同步修改,就很容易出现文档和业务不一致的情况。原创 2023-08-11 09:37:10 · 697 阅读 · 0 评论 -
【Spring Boot】构建RESTful服务 — 构建RESTful应用接口
RESTful架构是目前最流行的互联网软件架构规范,是Web API(应用编程接口)的大趋势和主流规范,了解了RESTful的众多优点之后,接下来一步一步地学习如何使用Spring Boot构建RESTful Web API。原创 2023-08-10 09:11:44 · 236 阅读 · 0 评论 -
【Spring Boot】构建RESTful服务 — RESTful简介
RESTful是目前流行的互联网软件服务架构设计风格。REST(Representational State Transfer,表述性状态转移)一词是由Roy Thomas Fielding在2000年的博士论文中提出的,它定义了互联网软件服务的架构原则,如果一个架构符合REST原则,则称之为RESTful架构。REST并不是一个标准,它更像一组客户端和服务端交互时的架构理念和设计原则,基于这种架构理念和设计原则的Web API更加简洁。原创 2023-08-09 10:32:01 · 639 阅读 · 0 评论 -
【Spring Boot】Thymeleaf模板引擎 — Thymeleaf页面布局
熟悉Thymeleaf的语法和表达式后,后面开发起来会更加得心应手。接下来好好研究一下Thymeleaf如何实现完整的Web系统页面布局。原创 2023-08-08 16:04:12 · 911 阅读 · 0 评论 -
【Spring Boot】Thymeleaf模板引擎 — Thymeleaf的高级用法
主要介绍Thymeleaf的内联、内置对象、内置变量等高级用法。原创 2023-08-07 10:09:46 · 617 阅读 · 0 评论 -
【Spring Boot】Thymeleaf模板引擎 — 表达式的语法
模板的主要作用是将后台返回的数据渲染到HTML中。那么Thymeleaf是如何解析后台数据的呢?接下来从变量、方法、条件判断、循环、运算(逻辑运算、布尔运算、比较运算、条件运算)方面学习Thymeleaf表达式支持的语法。原创 2023-08-04 17:11:49 · 822 阅读 · 0 评论 -
【Spring Boot】Thymeleaf模板引擎 — Thymeleaf表达式
本节介绍Thymeleaf的各种表达式,通过一些简单的例子来演示Thymeleaf的表达式及用法。原创 2023-08-04 08:01:41 · 409 阅读 · 0 评论 -
【Spring Boot】Thymeleaf模板引擎 — Thymeleaf入门
Thymeleaf是一款非常优秀的服务器端页面模板引擎,适用于Web和独立环境,具有丰富的标签语言和函数,能够处理HTML、XML、JavaScript甚至文本。Thymeleaf相较于其他模板引擎更加优雅。它强调自然模板化(允许模板成为工作原型,而Velocity、FreeMarker模板不允许这样做),所以它的语法更干净,更符合当前Web开发的趋势。原创 2023-08-03 08:10:11 · 2517 阅读 · 0 评论 -
【Spring Boot】实战:实现优雅的数据返回
定义返回值的基本要素,确保后台执行无论成功还是失败都是返回这些字段,而不会出现其他的字段。Integer code:成功时返回0,失败时返回具体错误码。String message:成功时返回null,失败时返回具体错误消息。T data:成功时返回具体值,失败时为null。原创 2023-07-28 09:13:36 · 741 阅读 · 3 评论 -
【Spring Boot】Web开发 — Web配置
在Spring Boot 1.5版本都是靠重写WebMvcConfigurerAdapter的方法来添加自定义拦截器、消息转换器等。Spring Boot 2.0以后,该类被标记为@Deprecated(弃用)。官方推荐直接实现WebMvcConfigurer接口或者直接继承WebMvcConfigurationSupport类。原创 2023-07-27 09:24:21 · 676 阅读 · 0 评论 -
【Spring Boot】Web开发 — 过滤器
过滤器是Java Servlet规范中定义的,能够在HTTP请求发送给Servlet之前对Request(请求)和Response(返回)进行检查和修改,从而起到过滤的作用。通过对Web服务器管理的所有Web资源(如JSP、Servlet、静态图片文件或静态HTML文件等)过滤,实现特殊的功能,例如,实现URL级别的权限访问控制、过滤敏感词汇、排除有XSS威胁的字符等。原创 2023-07-26 08:08:38 · 336 阅读 · 0 评论 -
【Spring Boot】Web开发 — 拦截器
Spring Boot定义了HandlerInterceptor接口来实现自定义拦截器的功能。HandlerInterceptor接口定义了preHandle、postHandle、afterCompletion三种方法,通过重写这三种方法实现请求前、请求后等操作。1)preHandle:预处理回调方法实现处理程序的预处理(如登录检查),第三个参数为响应的处理程序(如第3章的控制器的实现)。返回值:true表示继续流程(如调用下一个拦截器或处理程序);原创 2023-07-25 09:41:42 · 531 阅读 · 0 评论 -
【Spring Boot】Web开发 — 数据验证
数据校验是Web开发中的重要部分,目前数据校验的规范、组件非常多,有JSR-303/JSR-349、Hibernate Validator、Spring Validation。JSR(Java Specification Request)规范是Java EE 6中的一项子规范,也叫作Bean Validation。它指定了一整套基于bean的验证API,通过标注给对象属性添加约束条件。原创 2023-07-24 14:08:12 · 304 阅读 · 0 评论 -
【Spring Boot】Web开发 — 参数传递
在默认情况下,@PathVariable注解的参数支持自动转换一些基本的数据类型,如int、long、date、string等,Spring Boot能够根据URL变量的具体值以及函数参数的数据类型来进行转换,例如/user/lxml/blog/1会将“lxml”的值赋给username,而1赋给int类型的变量blogId。需要注意的是,在默认情况下,变量参数不能包含URL的分隔符“/”,也就是说上面定义的URL路由不能匹配/users/lxml/zhang,即使lxml/zhang是一个存在的用户名。原创 2023-07-21 10:34:02 · 521 阅读 · 0 评论 -
【Spring Boot】Web开发 — URL映射
上节介绍介绍了@Controller和@RestController等注解,那么Spring Boot是如何将HTTP请求映射到具体方法的呢?Spring Boot支持URL路径匹配、HTTP Method匹配、params和header匹配等URL映射。本节开始介绍Spring Boot的URL映射。原创 2023-07-19 09:55:45 · 1122 阅读 · 0 评论 -
【Spring Boot】Web开发 — Web开发简介
Spring Boot自带的spring-boot-starter-web组件为Web应用开发提供支持,它内嵌的Tomcat以及Spring MVC的依赖使用起来非常方便。Spring Boot创建Web应用非常简单,先创建一个普通的Spring Boot项目,然后修改pom.xml文件将spring-boot-starter-web组件加入项目就可以创建Web应用。我们使用IDEA编辑器打开新创建的Web项目。原创 2023-07-18 15:25:42 · 3236 阅读 · 6 评论 -
【Spring Boot】Spring Boot的系统配置 — 实战:实现系统多环境配置
在实际项目开发的过程中,需要面对不同的运行环境,比如开发环境、测试环境、生产环境等,每个运行环境的数据库、Redis服务器等配置都不相同,每次发布测试、更新生产都需要手动修改相关系统配置。这种方式特别麻烦,费时费力,而且出错的概率极大。庆幸的是,Spring Boot为我们提供了更加简单方便的配置方案来解决多环境的配置问题,下面就来演示Spring Boot系统如何实现多环境配置。原创 2023-07-17 16:00:36 · 911 阅读 · 0 评论 -
【Spring Boot】Spring Boot的系统配置 — 日志配置
Spring Boot自带spring-boot-starter-logging库实现系统日志功能,spring-boot-starter-logging组件默认使用LogBack日志记录工具。系统运行日志默认输出到控制台,也能输出到文件中。下面通过示例来演示Spring Boot项目配置日志的功能。修改pom.xml文件,添加spring-boot-starter-logging依赖。启动项目,查看控制台的日志输出情况,如图所示。原创 2023-07-15 16:35:21 · 2871 阅读 · 0 评论 -
【Spring Boot】Spring Boot的系统配置 — 其他配置
Spring Boot支持很多非常实用的参数配置功能。本节介绍Spring Boot配置生成随机数、配置引用等实际项目中的实用配置。原创 2023-07-14 10:01:26 · 610 阅读 · 0 评论 -
【Spring Boot】Spring Boot的系统配置 — 自定义配置项
在上面的示例中,创建了自定义的website.properties配置文件。增加了name、website、language等三个配置项,这些配置项的名称的前缀都是com.lxmb.resource。原创 2023-07-13 15:51:28 · 2603 阅读 · 0 评论