Spring
文章平均质量分 96
沉着的码农
一个沉着的码农
展开
-
【Java】从0实现一个基于SpringBoot的个人博客系统
使⽤SSM框架实现⼀个简单的博客系统共5个⻚⾯⽤⼾登录博客发表⻚博客编辑⻚博客列表⻚博客详情⻚⽤⼾登录成功后, 可以查看所有⼈的博客. 点击 可以查看该博客的正⽂内容. 如果该博客作者为当前登录⽤⼾, 可以完成博客的修改和删除操作, 以及发表新博客页面预览用户登录博客详情博客列表博客发布。原创 2024-05-09 13:01:52 · 1163 阅读 · 2 评论 -
【RabbitMQ】RabbitMQ详解(二)
先从概念解释上搞清楚这个定义,死信,顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说,producer 将消息投递到 broker 或者直接到queue 里了,consumer 从 queue 取出消息 进行消费,但某些时候由于特定的原因导致 queue 中的某些消息无法被消费,这样的消息如果没有后续的处理,就变成了死信,有死信自然就有了死信队列。上文中提到的问题,确实是一个问题,如果不能实现在消息粒度上的 TTL,并使其在设置的 TTL 时间及时死亡,就无法设计成一个通用的延时队列。原创 2023-12-23 23:43:41 · 1219 阅读 · 0 评论 -
【RabbitMQ】RabbitMQ详解(一)
RabbitMQ是一种开源的消息中间件软件,它实现了高度可靠的消息传递机制。它基于AMQP(Advanced Message Queuing Protocol)协议,可以在分布式系统中传递、存储和接收消息。RabbitMQ提供了一个可靠的消息队列系统,用于在应用程序之间进行异步通信。它的主要特点包括:消息队列:消息发送者将消息发布到队列中,然后接收者从队列中获取消息进行处理。可靠性:RabbitMQ使用持久化消息以确保消息不会丢失,并提供了消息确认机制来确保消息被正确接收。原创 2023-12-23 01:10:05 · 2590 阅读 · 0 评论 -
【Spring】Spring AOP
AOP(面向切面编程)是一种编程思想和技术,旨在将横切关注点与核心业务逻辑相分离,以提高代码的可维护性、可重用性和可扩展性。在传统的面向对象编程中,我们将功能模块封装成类,并通过对象的方法调用来实现特定的功能。但有些功能可能会跨越多个对象和方法,包括日志记录、安全控制、事务管理等,这些功能通常不属于核心业务逻辑,但需要在多个地方重复使用。AOP的核心思想是将这些横切关注点从业务逻辑中剥离出来,形成一个独立的模块,称为切面(Aspect)。原创 2023-12-15 22:01:23 · 921 阅读 · 0 评论 -
【Spring】Spring统一功能处理
拦截器是Spring框架提供的核⼼功能之⼀, 主要⽤来拦截⽤⼾的请求, 在指定⽅法前后, 根据业务需要执⾏预先设定的代码也就是说, 允许开发⼈员提前预定义⼀些逻辑, 在⽤⼾的请求响应前后执⾏. 也可以在⽤⼾请求前阻⽌其执⾏.在拦截器当中,开发⼈员可以在应⽤程序中做⼀些通⽤性的操作, ⽐如通过拦截器来拦截前端发来的请求, 判断Session中是否有登录⽤⼾的信息. 如果有就可以放⾏, 如果没有就进⾏拦截.实现HandleInterceptor接口 重写方法@Component@Slf4j。原创 2023-12-10 22:37:08 · 1269 阅读 · 1 评论 -
【Spring】SpringBoot日志
为什么要学习⽇志⽇志对我们来说并不陌⽣, 从JavaSE部分, 我们就在使⽤ System.out.print 来打印⽇志了. 通过打印⽇志来发现和定位问题, 或者根据⽇志来分析程序的运⾏过程.在Spring的学习中, 也经常根据控制台的⽇志来分析和定位问题.随着项⽬的复杂度提升, 我们对⽇志的打印也有了更⾼的需求, ⽽不仅仅是定位排查问题.原创 2023-12-10 22:38:11 · 1761 阅读 · 0 评论 -
【Spring】SpringBoot配置文件
很多项⽬或者框架的配置信息也放在配置⽂件中, ⽐如:• 项⽬的启动端⼝• 数据库的连接信息(包含⽤⼾名和密码的设置)• 第三⽅系统的调⽤密钥等信息• ⽤于发现和定位问题的普通⽇志和异常⽇志等.原创 2023-11-10 22:49:23 · 318 阅读 · 0 评论 -
【Spring】Spring IOC & DI
Spring是一个开源的轻量级Java开发框架,它提供了全面的基础设施支持和广泛的应用程序级特性,使得Java开发变得更加简单和高效。Spring框架的核心特点包括依赖注入(Dependency Injection)、面向切面编程(AOP)、容器、事务管理等。依赖注入允许开发人员将组件之间的依赖关系外部化,这样可以降低类之间的耦合度,使得代码更容易维护和测试。面向切面编程则允许开发人员定义横切关注点,比如日志、事务管理等,从而实现模块化的开发。原创 2023-11-10 17:05:36 · 384 阅读 · 0 评论