springboot启动流程 (1) 流程概览-编程思维

本文将通过阅读源码方式分析SpringBoot应用的启动流程,不涉及Spring启动部分(有相应的文章介绍)。 本文不会对各个流程做展开分析,后续会有文章介绍详细流程。 SpringApplication类 应用启动入口 使用以下方式启动一个SpringBoot应用: @SpringBootApplication public class SpringBootDemoApplication {

springboot启动流程 (2) 组件扫描-编程思维

SpringBoot的组件扫描是基于Spring @ComponentScan注解实现的,该注解使用basePackages和basePackageClasses配置扫描的包,如果未配置这两个参数,Spring将扫描该配置类所属包下面的组件。 在服务启动时,将使用ConfigurationClassPostProcessor扫描当前所有的BeanDefinition,解析Configuratio

springboot启动流程 (3) 自动装配-编程思维

在SpringBoot中,EnableAutoConfiguration注解用于开启自动装配功能。 本文将详细分析该注解的工作流程。 EnableAutoConfiguration注解 启用SpringBoot自动装配功能,尝试猜测和配置可能需要的组件Bean。 自动装配类通常是根据类路径和定义的Bean来应用的。例如,如果类路径上有tomcat-embedded.jar,那么可能需要一个Tom

springboot3多环境配置-编程思维

SpringBoot3多环境配置 前言 这篇文章是我在学习SpringBoot3时对多环境配置概念学习的记录,以便日后遗忘查阅; 目录 目录SpringBoot3多环境配置前言目录一、如何理解多环境配置1.什么是软件运行环境2.为什么要设立多个软件运行环境二、如何在SpringBoot中进行运行环境切换1.SpringBoot关于环境切换约定2.SpringBoot多环境切换实操 一、如何

springboot+redis实现接口级别缓存信息-编程思维

本文主要讲述如何通过SpringBoot+Redis实现接口级别缓存信息 背景 近期因为一直在处理公司的老项目,恰好碰到产品说页面有一些信息展示慢,简单看了一下页面接口,发现查询的是系统中几张大表(数据量在千万级别),还会关联一些其他的表,导致接口性能极差,但是由于这些信息也不存在"及时性"这么一说,便想着通过接口缓存来控制 相关技术 jdk 1.8 reids 5.0.7 实现思路 通过注

spring/springboot中的声明式事务和编程式事务源码、区别、优缺点、适用场景、实战-编程思维

一、前言 在现代软件开发中,事务处理是必不可少的一部分。当多个操作需要作为一个整体来执行时,事务可以确保数据的完整性和一致性,并避免出现异常和错误情况。在SpringBoot框架中,我们可以使用声明式事务和编程式事务来管理事务处理。其中事务的坑也是不少,比较常见的就是事务失效,大家可以看看!后面小编在出一篇事务失效场景哈,喜欢的可以关注,等待更新哈! 这篇博客将重点探讨这两种事务处理方式的源码实

浅析springboot加载配置的6种方式-编程思维

从配置文件中获取属性应该是SpringBoot开发中最为常用的功能之一,但就是这么常用的功能,仍然有很多开发者抓狂~今天带大家简单回顾一下这六种的使用方式: 说明 Environment对象 Environment 是 springboot 核心的环境配置接口,它提供了简单的方法来访问应用程序属性,包括系统属性、操作系统环境变量、命令行参数、和应用程序配置文件中定义的属性等等,使

极速指南:在 springboot 中快速集成腾讯云短信功能-编程思维

前言 今天分享一个SpringBoot集成腾讯云短信的功能,平常除了工作,很多xdm做自己的小项目都可能用到短信,但自己去看文档挺费劲的,我这边就帮你节省时间,直接把步骤给你列出来,照做就行。 实战 1、申请密钥及签名模板 首先,要使用腾讯云短信,你得先在腾讯云有个账号,申请密钥及签名模板。 1)、找到访问管理-API密钥管理,勿泄漏。 2)、签名及模板 要申请,推荐用公众号,描述中写几句

springboot+mybatis+mybatisplus 框架中增加自定义分页插件和sql 占位符修改插件-编程思维

一、Springboot简介 springboot 是当下最流行的web 框架,Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置,让这些框架集成在一起变得更加简单,简化了我们在集成过程中繁琐的模板化配置,springboot的核心特点如下: 1. 独

springboot自动配置原理解析-编程思维

1: 什么是SpringBoot自动配置 首先介绍一下什么是SpringBoot,SpringBoost是基于Spring框架开发出来的功能更强大的Java程序开发框架,其最主要的特点是:能使程序开发者快速搭建一套开发环境。SpringBoot能将主流的开发框架(例如SpringMVC,Dubbo,Mybatis,Redis等),做到像Maven导入Jar包一样的简洁快速,做到开箱即用。其中最关

spring boot整合oauth2实现github第三方登录-编程思维

Github OAuth 第三方登录示例 1、第三方登录原理 第三方登录的原理是借助OAuth授权来实现,首先用户先向客户端提供第三方网站的数据证明自己的身份获取授权码,然后客户端拿着授权码与授权服务器建立连接获得一个Access Token,之后客户端就可以通过Access Token来与资源服务器进行交互。 使用OAuth的好处是提供给用户一个特定的密钥,用户持有这个密钥可以访问应用中的任何

springboot使用注解aop实现日志模块-编程思维

我们在日常业务操作中需要记录很多日志,可以在我们需要的方法中对日志进行保存操作,但是对业务代码入侵性大。使用切面针对控制类进行处理灵活度不高,因此我们可以使用自定义注解来针对方法进行日志记录 1.注解 package com.infra.open.api.log; import java.lang.annotation.*; /** * 日志注解 * * @Author : cgy

springboot生成二维码的正确姿势-附视频附源码-编程思维

@目录前言初始化 SpringBoot 项目引入依赖编码编写工具类生成二维码资源共享 二维码的原理是什么,如何保证不重复?你有没有想过这样一件事,二维码是实现原理是什么?如何保证各个平台的二维码是唯一的?就算你的程序停止运行,但是你的二维码依然存在。设计上要保证唯一性,比如在物流等环境中扫码编程别人的二维码。 二维码是我们当今社会非常重要的一项技术,不论是我们在买菜,网购,停车等等,都需要

java替换requestbody和requestparam参数的属性-编程思维

Java替换RequstBody和RequestParam参数的属性 本文主要讲解在Java环境中如何替换RequestBody和RequestParam参数中的属性 背景 近期由于接手的老项目中存在所有接口中新增一个加密串来给接口做一个加密效果(项目历史原因,不方便上Jwt授权这套),所以就研究了一下Http请求链路,发现可以通过 javax.servlet.Filter去实现 替换Requ