
SpringBoot高效开发实践
文章平均质量分 72
本专栏聚焦于用 SpringBoot实现高效开发,深入剖析 SpringBoot高效开发的必备技巧与实践。从基础配置的优化,到核心组件的灵活运用,再到复杂场景的经验总结,为你详细拆解每一个技术要点,助力你在 Spring Boot 开发中大步迈进!
珠峰日记
一位在软件开发领域深耕近20年的资深技术专家。凭借对技术的满腔热忱与不懈钻研,积累了极为丰富且多元的实战经验。
并紧跟技术前沿,对 AI 领域有着深入研究与实践。
展开
-
SpringBoot应用开发入门
Spring Boot 是一个用于简化 Spring 应用开发的框架,它通过提供默认配置和自动装配等特性,让开发者能够更快速地搭建和开发应用程序。以下是一个完整的 Spring Boot 应用开发指南,包含环境搭建、项目创建、功能开发以及部署等方面的内容。在实际开发中,你可以根据项目的需求添加更多的功能和模块,如数据库访问、安全认证等。为了提高开发效率和应用的稳定性,可以使用 CI/CD 工具(如 Jenkins、GitLab CI/CD 等)来实现自动化的构建、测试和部署。原创 2025-02-20 10:56:21 · 596 阅读 · 0 评论 -
Spring Boot 启动类的原理与作用
Spring Boot 启动类虽然代码简洁,但背后蕴含着复杂而强大的机制。注解和方法共同协作,实现了 Spring Boot 应用的快速搭建、自动配置和启动。理解启动类的原理和作用,有助于开发者更好地掌握 Spring Boot 框架,进行高效的开发和问题排查。在实际开发中,我们可以基于启动类的机制进行定制化开发,如自定义自动配置类、添加监听器等,以满足不同的业务需求。原创 2025-02-21 10:35:00 · 892 阅读 · 0 评论 -
Spring Boot 异步编程深入剖析
当调用该异步方法时,实际上是调用代理对象的方法,代理对象会将该方法的执行委托给线程池中的一个线程去执行,而调用线程会继续执行后续代码,从而实现异步执行。通过深入理解 Spring Boot 异步编程的原理和机制,合理配置线程池,以及有效地监控和管理异步任务,可以充分发挥异步编程的优势,提高应用程序的性能和响应能力。来监控任务状态,还可以使用 Spring Boot Actuator 来监控线程池的状态。可以通过编写自定义的线程池管理器来动态调整线程池的参数。等方法来构建任务链,实现复杂的异步任务管理。原创 2025-03-02 19:38:06 · 1089 阅读 · 0 评论 -
Spring Boot 异步编程
在异步方法上指定使用自定义的线程池。// 模拟耗时操作 return CompletableFuture . completedFuture("Async method completed");} }// 模拟耗时操作 return CompletableFuture . completedFuture("Async method completed");} }原创 2025-03-02 19:35:36 · 408 阅读 · 0 评论 -
Springboot开发相关基础
一、Restful接口风格简单的讲就是资源和行为分离,URL确定操作的资源,requestMethod确定对资源的行为。代码实现: @GetMapping("{id}") public User getById(@PathVariable("id") Long id) { System.out.println("id" + id); System.out.println("查询操作"); return new User(id原创 2020-06-14 12:20:00 · 131 阅读 · 0 评论 -
SpringBoot集成OAuth2.0
OAuth 2.0 是一个开放标准的授权协议,它允许用户授权第三方应用访问其在另一个服务提供商处存储的受保护资源,而无需将自己的用户名和密码直接提供给第三方应用。这极大地增强了用户数据的安全性和隐私性,广泛应用于各种需要第三方授权访问的场景,如社交登录、第三方应用获取用户在云存储服务中的文件等。原创 2025-04-02 17:02:56 · 723 阅读 · 0 评论 -
SpringBoot 安全管理
在 Spring Boot 应用开发中,保障系统安全至关重要。Spring Security 作为 Spring 生态系统中强大的安全框架,能为 Spring Boot 应用提供全面的安全服务,其中基于角色的访问控制(RBAC)是常用的安全机制,它依据用户的角色来限制对应用程序资源的访问。通过以上步骤,我们在 Spring Boot 应用中实现了基于角色的访问控制。原创 2025-04-02 11:43:19 · 643 阅读 · 0 评论 -
SpringBoot事务管理(四)
在不同的数据库和业务场景下,如果使用了不匹配的事务隔离级别,可能会出现数据不一致的问题。在使用多数据源的 Spring Boot 应用中,如果没有正确配置事务管理器,可能会导致事务管理混乱。因为 Spring 的事务管理是基于 AOP 代理实现的,自调用时不会经过代理对象,所以事务注解不起作用。在嵌套事务中,如果错误地使用了事务传播行为,可能会导致事务管理不符合预期。在事务方法中捕获了异常但没有重新抛出,会导致事务不会回滚。传播行为,会使内层事务加入到外层事务中,当外层事务回滚时,内层事务也会回滚。原创 2025-03-31 09:10:54 · 422 阅读 · 0 评论 -
SpringBoot事务管理(三)
通过以上这些优化策略,可以全面提高Spring Boot事务管理中数据库查询的性能,从而提升整个系统的性能和稳定性。原创 2025-03-31 09:08:13 · 1063 阅读 · 0 评论 -
SpringBoot事务注解(二)
这是Spring Boot里使用频率最高的事务注解,可用于类或者方法上。加在类上时,该类所有公共方法都会开启事务;加在方法上时,仅该方法开启事务。该注解用于在事务上下文中监听事件。使用此注解的方法会在事务完成后执行,可用于处理与事务相关的后续操作,例如发送通知、记录日志等。此注解用于开启Spring的声明式事务管理功能。一般需添加到Spring Boot主应用类上,这样Spring才能识别。的方法,且这些方法都添加了。注解并开展事务管理工作。原创 2025-03-28 09:04:14 · 475 阅读 · 0 评论 -
SpringBoot事务管理(一)
这是 Spring 中最常用的事务注解,可应用于类或方法上。当应用于类时,该类的所有公共方法都会启用事务;若应用于方法,则仅该方法启用事务。其常见属性有(指定事务传播行为)、isolation(指定事务隔离级别)、timeout(指定事务超时时间)、readOnly(指定事务是否为只读事务)、(指定哪些异常会导致事务回滚)和(指定哪些异常不会导致事务回滚)。此注解用于启用 Spring 的声明式事务管理功能。通常将其添加到 Spring Boot 的主应用类上,这样 Spring 就能识别。原创 2025-03-28 08:48:34 · 1079 阅读 · 0 评论 -
Spring Boot嵌入式服务器:切换、选型与调优全攻略
在Spring Boot开发中,嵌入式服务器是关键组件,它让应用可独立运行,无需部署到外部服务器。Spring Boot默认集成Tomcat,同时也支持切换为Jetty或Undertow。下面将为你详细介绍切换方法、选型策略以及工程实践中的调优技巧。通过以上对Spring Boot嵌入式服务器切换、选型及调优的介绍,开发者可根据项目实际需求,灵活选择并优化嵌入式服务器,提升应用性能和开发效率。原创 2025-03-20 14:21:15 · 916 阅读 · 11 评论 -
一个例子讲清SpringBoot接收前端参数各种情况
创建一个Student// 无参构造函数// 有参构造函数// Getter 和 Setter 方法return id;return age;原创 2025-03-13 21:32:56 · 357 阅读 · 0 评论 -
Spring Boot 异步编程
在需要异步执行的方法上添加@Async注解。try {// 模拟耗时操作 Thread . sleep(2000);} return CompletableFuture . completedFuture("异步任务执行完成");} }try {// 模拟耗时操作 Thread . sleep(2000);} return CompletableFuture . completedFuture("异步任务执行完成");} }try {原创 2025-03-06 08:50:29 · 987 阅读 · 0 评论 -
Spring Boot 简介与快速搭建及启动流程详解
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的配置方式,使得开发人员可以摆脱传统 Spring 项目中繁琐的 XML 配置,从而更加专注于业务逻辑的开发。原创 2025-03-03 14:25:55 · 965 阅读 · 0 评论 -
SpringBoot定时任务
在 Spring Boot 中,定时任务是一种常见的需求,它允许我们按照预定的时间间隔或固定时间点执行特定的任务。下面将详细介绍@Scheduled注解的使用、定时任务的配置与调度以及动态定时任务的实现。原创 2025-03-03 11:15:36 · 368 阅读 · 0 评论 -
IDEA使用Spring initializr 创建SpringBoot项目超时问题解决办法
问题:经常通过IDEA的spring initializr创建springboot项目会报超时解决方案:创建时用阿里的service url:https://start.aliyun.com原创 2020-06-14 10:46:53 · 3439 阅读 · 4 评论 -
Springboot启动时在“{dataSource-1} inited”处后就非常慢的问题
原创 2019-06-26 11:16:55 · 1014 阅读 · 0 评论 -
springboot中动态读取多sqlite文件
1、添加DataSourceAutoConfiguration类import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.jdbc.datasource.DriverManag...原创 2019-09-10 16:36:12 · 1429 阅读 · 4 评论 -
SpringBoot缓存实践
Spring Boot 缓存机制为开发者提供了一种简单、高效的方式来实现缓存管理。通过 Spring Cache 抽象,开发者可以方便地集成不同的缓存实现,如 Redis 和 Ehcache,并使用缓存注解来管理缓存。在实际应用中,需要注意缓存的序列化、缓存穿透、缓存一致性等问题,合理配置缓存参数,选择合适的缓存实现和缓存注解,以提高系统的性能和稳定性。原创 2025-02-28 11:40:19 · 1098 阅读 · 0 评论 -
Springboot集合RabbitMQ运行过程中报错:Channel shutdown: channel error; protocol method解决方法
产生问题背景:在消息的消费处理逻辑中有手动确认消息的操作:问题分析:1、默认情况下 spring-boot-data-amqp 是自动ACK机制,就意味着 MQ 会在消息发送完毕后,自动帮我们去ACK,然后删除消息的信息。2、消息确认的类型:...原创 2020-11-13 10:42:42 · 6693 阅读 · 0 评论 -
Docker容器中部署springboot应用
一、mysql拉取mysql镜像参考博客:1、胖虎儿的docker系列2、docker入门(利用docker部署web应用)3、linux查看端口占用原创 2020-12-10 15:06:21 · 464 阅读 · 0 评论 -
springboot工程打包时将application.properties放在jar包外
原创 2019-05-17 11:25:06 · 152 阅读 · 0 评论 -
Springboot应用json数据传给前端首字母大写变小写的问题
原创 2019-07-03 16:28:41 · 1429 阅读 · 0 评论 -
springboot angular前后端分离部署时,正常路径刷新后报404的解决办法
原创 2019-05-17 14:38:11 · 86 阅读 · 0 评论 -
Spring Boot嵌入式服务器深度解析:从配置到调优的全方位指南
部署效率提升:单JAR包部署,无需安装Web服务器资源利用率优化:根据应用需求选择最佳容器快速水平扩展:天然适合容器化部署配置灵活性:细粒度的性能调优参数。原创 2025-02-23 21:40:51 · 844 阅读 · 0 评论 -
Spring Boot数据访问(JDBC)全解析:从基础配置到高级调优
return ResponseEntity.badRequest().body("数据完整性校验失败:" + ex.getRootCause().getMessage());.body("数据库访问异常:" + ex.getMessage());轻量高效:直接操作SQL,避免ORM框架开销灵活可控:完全掌控SQL执行细节生态完善:与Spring事务体系无缝集成性能卓越:配合连接池可达万级TPS需要执行复杂SQL查询处理大批量数据操作对性能要求极高的核心业务已有成熟SQL需要复用。原创 2025-02-23 21:46:14 · 877 阅读 · 0 评论 -
Spring Boot 中的日志管理
【代码】Spring Boot 中的日志管理。原创 2025-02-24 17:03:03 · 918 阅读 · 0 评论 -
Spring Boot 消息队列(以RabbitMQ为例)
RabbitMQ 是一个开源的消息代理和队列服务器,基于 AMQP(高级消息队列协议)实现。可靠性:支持持久化、传输确认、发布确认等机制,确保消息不丢失。灵活性:支持多种消息模型,如点对点、发布 - 订阅等。分布式:可以通过集群和镜像队列来实现高可用性和扩展性。多语言支持:支持多种编程语言,如 Java、Python、C# 等。import org。原创 2025-03-01 21:28:46 · 1448 阅读 · 0 评论 -
SpringBoot项目中的api工程打包时报repackage failed: Unable to find main class
问题场景:Springboot项目中,spring cloud集成dubbo,存在一个api的工程,api工程install到本地时提示repackage failed: Unable to find main class。解决原因:api工程作为子模块依赖了父工程,父工程中用了springboot的打包插件,所以就继承过来了。解决方法:子模块install时注释掉父工程的springbot打包插件...原创 2020-12-14 16:52:50 · 631 阅读 · 0 评论 -
Springboot整合Mybatis及注意事项
Mybatis文件的生成参考上篇mybatis-generator的介绍https://blog.youkuaiyun.com/d20062056/article/details/106750447一、引入依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter&原创 2020-06-14 22:02:14 · 275 阅读 · 0 评论 -
Springboot整合Servlet Filter和Interceptor
一、整合Filter1、写一个自己的Filter@Componentpublic class MyFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { System.out.println("initFilter"); } @Override public void doFilte原创 2020-06-14 16:21:15 · 179 阅读 · 0 评论 -
SpringBoot @Value获取application.properties中的配置无效的问题
无效的原因主要是要注意@Value使用的注意事项:1、不能作用于静态变量(static); 2、不能作用于常量(final); 3、不能在非注册的类中使用(需使用@Componet、@Configuration等); 4、使用有这个属性的类时,只能通过@Autowired的方式,用new的方式是不会自动注入这些配置的。这些注意事项也是由它的原理决定的:springboot启动过程中,有两个比较重要的过程,如下:1 、扫描,解析容器中的bean注册到beanFactory上去,就像是信息登原创 2020-06-14 13:56:04 · 2067 阅读 · 1 评论