SpringBoot跨域
package com.wzq.test.action;import com.wzq.utils.BatchDownFilesUtils;import org.springframework.beans.factory.BeanFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.CrossOrigin;import org.sp...
2024-01-10SpringBoot正确打日志的姿势
前篇Spring Boot 日志处理你还在用Logback?本文简介前篇侧重 Log4j2 的配置,本篇侧重统一日志处理的应用,以下包含 HTTP 请求的日志处理、Exception 异常日志处理。HTTP 请求日志img1、明确日志记录的内容示例:用户、IP地址、Method、URI、请求参数、请求体2、全局拦截 MDCFilter.javapackage com.anoyi.config.serv...
2024-01-10SpringBoot整个启动过程的分析
前言前一篇分析了SpringBoot如何启动以及内置web容器,这篇我们一起看一下SpringBoot的整个启动过程,废话不多说,正文开始。正文一、SpringBoot的启动类是**application,以注解@SpringBootApplication注明。@SpringBootApplicationpublic class CmsApplication { public static void main(String[] args) { SpringApplication.run(CmsApplic...
2024-01-10SpringBoot找不到处理程序方法
我有一个基本的SpringBoot应用程序。使用SpringInitializer,嵌入式Tomcat,Thymeleaf模板引擎以及作为可执行JAR文件的软件包。这是主要的课程@SpringBootApplicationpublic class TdkApplication { public static void main(String[] args) { SpringApplication.run(TdkApplication.class, args); }}这是一个控制器@...
2024-01-10深入理解SpringBoot之启动探究
本文内容纲要:- 一、基于Springframework的事件机制- 1.1、JDK中的事件接口与类- 1.2、spring中的事件类- 1.3、基于Spring的自定义事件- 二、SpringApplication启动分析- 2.1、SpringApplication初始化分析- 2.2、SpringApplication的run方法分析- 1. 获取SpringApplicationRunListener- 2、调用所有的SpringApplicationRunListenner的...
2024-01-10SpringBoot事件发布和监听详解
目录概述事件监听的结构Publisher,Event和Listener的关系事件发布者监听者总结概述ApplicationEvent以及Listener是Spring为我们提供的一个事件监听、订阅的实现,内部实现原理是观察者设计模式,设计初衷也是为了系统业务逻辑之间的解耦,提高可扩展性以及可维护性。事件发布者并不需要考虑谁去监听,监...
2024-01-10SpringBoot参数校验与国际化使用教程
一、参数校验springboot 使用校验框架validation校验方法的入参SpringBoot的Web组件内部集成了hibernate-validator,所以我们这里并不需要额外的为验证再导入其他的包。1、bean 中添加标签标签需要加在属性上,@NotEmpty标签String的参数不能为空@Datapublic class DemoDto { @NotEmpty(message = "名称不能为空") private Stri...
2024-01-10SpringBoot+Shiro实现权限控制
一、Shiro简介二、项目实现2.1 数据库结构2.2 SQLSET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for menu-- ----------------------------DROP TABLE IF EXISTS `menu`;CREATE TABLE `menu` ( `menu_id` int(32) NOT NULL AUTO_INCREMENT, `menu_ name` va...
2024-01-10SpringBoot发送html邮箱验证码功能
1. 效果展示(用户收到的)2. 邮件推送管理(见以后的博客)先看看如果管理员手动发送该如何操作3. 后端核心代码(通用版)3.1 SendEmailVO实体类package com.example.han.model.VO;import io.swagger.v3.oas.annotations.media.Schema;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import ja...
2024-01-10SpringBoot配置Email发送功能实例
本篇介绍在SpringBoot中配置Email服务的具体步骤,以及常见的异常分析。 具体案例以QQ邮箱以及QQ企业邮箱为例。QQ邮箱发送方式QQ企业邮箱发送方式总结tips: 下面提到的hashIndex指的是一个元素put到hashmap中时,要根据其key.hashcode & (table.size()-1)来决定其在table中的位置。table是一个数组,类型为Node。...
2024-01-10如何使用Spring-Boot外部化数据源配置?
我目前正在尝试将现有的spring应用程序移至spring-boot,因此重新创建了无需引导即可工作的东西。我想从外部源配置一些属性(例如spring.datasource。*)。具体来说是一个包含多个属性文件的文件夹。我设置了一个配置类,该类创建如下的propertyPlaceholder配置器:@Configurationpublic class PropertySourceConfiguration...
2024-01-10SpringBoot配置发送Email的示例代码
本文介绍了SpringBoot配置发送Email,分享给大家,具体如下:引入依赖在 pom.xml 文件中引入邮件配置:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>配置文件# JavaMailSender 邮件发送的配置spring.mail.host=smtp.163.comspring.mail.userna...
2024-01-10手把手教你写SpringBoot插件01SPI规范
1、什么是SPI 这里先说下SPI的一个概念,SPI英文为Service Provider Interface单从字面可以理解为Service提供者接口,正如从SPI的名字去理解SPI就是Service提供者接口;我对SPI的定义:提供给服务提供厂商与扩展框架功能的开发者使用的接口。很多框架都使用了java的SPI机制,如JDBC4中的java.sql.Driver的SPI实现(mysql...
2024-01-10SpringBoot集成内存数据库Derby的实践
目录目标为什么操作步骤工程截图运行效果目标在SpringBoot中集成内存数据库Derby.为什么像H2、hsqldb、derby、sqlite这样的内存数据库,小巧可爱,做小型服务端演示程序,非常好用。最大特点就是不需要你另外安装一个数据库。操作步骤修改pom.xml文件<dependency> <groupId>org.apache.derby</groupId> <artifact...
2024-01-10SpringBoot整合Activiti7的实现代码
Activiti7发布正式版之后,它与SpringBoot2.x已经完全支持整合开发。我们可以将Activiti7与SpringBoot整合开发的坐标引入到工程中,从而达到SpringBoot支持Activti7整合。1.使用IDEA创建SpringBoot项目在工程的pom.xml文件中引入相关的依赖,具体依赖如下所示<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache...
2024-01-10简单了解SpringBoot HATEOAS使用方法
REST风格简介介绍HATEOAS之前先简单介绍一下REST,REST 是 Representational state transfer 的缩写,翻译过来的意思是表达性状态转换。REST是一种架构的风格Richardson Maturity ModelRichardson 提出了REST一种 成熟度模型,我们称之为Richardson Maturity Model,这种模式将REST按照成熟度划分为4个等级Level0:使用HTTP作为WEB...
2024-01-10备忘:SpringBoot集成GradleGIT插件
步骤一:Gradle:增加配置如下:repositories {.... //增加 maven { url "https://plugins.gradle.org/m2/"} } dependencies { .... //增加 classpath("gradle.plugin.com.gorylenko.gradle-git-properties:gradle-git-properties:2.0.0-beta1") } apply plugin: "com.gorylen...
2024-01-10浅谈SpringBoot内嵌Tomcat的实现原理解析
一、序言使用SpringBoot经常会使用内嵌的tomcat做为项目的启动容器,本文将从源码的角度出发,剖析SpringBoot内嵌Tomcat的实现原理,讨论Tomcat何时创建、何时启动以及怎么启动。二、引入Tomcat组件导入依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency>...
2024-01-10SpringBoot AOP方式实现多数据源切换的方法
最近在做保证金余额查询优化,在项目启动时候需要把余额全量加载到本地缓存,因为需要全量查询所有骑手的保证金余额,为了不影响主数据库的性能,考虑把这个查询走从库。所以涉及到需要在一个项目中配置多数据源,并且能够动态切换。经过一番摸索,完美实现动态切换,记录一下配置方法供...
2024-01-10SpringBoot项目运行jar包启动的步骤流程解析
SpringBoot项目在开发中,方便快捷,有一点原因就是SpringBoot项目可以打jar包运行:把jar包直接扔服务器上,然后运行jar包就能访问项目接口了。下面介绍SpringBoot项目打jar包运行的步骤流程:一、我们所熟悉的是在开发环境下,直接用开发工具来运行那个启动类,然后就能启动这个项目:开发环境下启...
2024-01-10SpringBoot错误处理机制以及自定义异常处理详解
上篇文章我们讲解了使用Hibernate Validation来校验数据,当校验完数据后,如果发生错误我们需要给客户返回一个错误信息,因此这节我们来讲解一下SpringBoot默认的错误处理机制以及如何自定义异常来处理请求错误。一、SpringBoot默认的错误处理机制我们在发送一个请求的时候,如果发生404 SpringBoot会怎...
2024-01-10快速搭建一个SpringBoot项目(纯小白搭建教程)
目录零、环境介绍一、手把手创建1.创建步骤2.启动类和测试编写2.1 项目结构2.2 创建启动类DemoApplication2.3 测试二、依赖工具创建零、环境介绍环境:jdk1.8及以上,maven,Win10,IDEA,网络一、手把手创建请求创建在启动类所在的包里面,才能顺利启动1.创建步骤看图,有手就行之后得到的就是一...
2024-01-10基于Springboot实现JWT认证的示例代码
目录一、了解JWT概念作用1.1 为什么授权要使用jwt二、JWT结构2.1 header2.2 payload2.3 signature三、使用JWT3.1 上手3.2 封装工具类3.3 整合springboot最近一直想写一个类似于待办的东西,由于不想用传统的session,就卡住了,后来在各种群里扯皮,发现除了用缓存之外,还可以通过 JWT 来实现。一、了解JWT概念json w...
2024-01-10SpringBoot整合Apollo配置中心快速使用详解
目录一、简介二、使用1. 测试项目搭建2. Apollo配置中心的配置3. 项目启动与测试4.常见整合问题附录一、简介1.Apollo 是什么?Apollo(阿波罗)是携程框架部门研发的分布式配置中心。服务端基于Spring Boot和Spring Cloud开发。2.为什么要使用Apollo?安全性:配置跟随源代码保存在代码库中,容易造成配置泄...
2024-01-10SpringBoot Data JPA 关联表查询的方法
SpringBoot Data JPA实现 一对多、多对一关联表查询开发环境IDEA 2017.1Java1.8SpringBoot 2.0MySQL 5.X功能需求通过关联关系查询商店Store中所有的商品Shop,商店对商品一对多,商品对商店多对一,外键 store_id存在于多的一方。使用数据库的内连接语句。表结构tb_shoptb_store实体类,通过注解实现1.商店...
2024-01-10