springboot springmvc spring

告别复杂逻辑,项目终于用上了 Spring 状态机,非常优雅!

告别复杂逻辑,项目终于用上了 Spring 状态机,非常优雅! 1、什么是状态机 1.1 什么是状态 先来解释什么是“状态”( State )。现实事物是有不同状态的,例如一个自动门,就有 open 和 closed 两种状态。我们通常所说的状态机是有限状态机,也就是被描述的事物的状态的数量是有限个 ......
逻辑 状态 项目 Spring

Spring Boot WebMvcConfigurer

Spring Boot WebMvcConfigurer, 它被用来确定Spring Boot全局的MVC 属性,通常需要定义一个实现 WebMvcConfigurer 接口配置类,然后在此类中配置相关MVC属性。 如下示例代码所示: package com.exception.qms.config ......
WebMvcConfigurer Spring Boot

SpringBoot+RabbitMQ+Redis 开发一个秒杀系统,细节打满(附源码)

一、简易版秒杀SeckillProject系统简介 开发技术 二、实现细节记录 1、用户密码两次MD5加密 2、分布式session维持会话 3、异常统一处理 4、页面缓存 + 对象缓存 5、页面静态化 6、内存标记 + Redis预减库存 + RabbitMQ异步处理 7、解决超卖 8、接口限流 ......
SpringBoot 源码 RabbitMQ 细节 系统

架构师养成记-springboot

1.什么是springboot? (1)是一款全新的框架,目的是为简化spring应用的初始搭建和开发过程,使用特定的方式来进行配置,从而使开发人员不需要定义样板化配置,达到"开箱即用"。 (2)核心思想是:约定大于配置。 springboot所有开发细节都是根据此思想进行实现的。2.什么是约定大于 ......
springboot 架构

Spring源码解析——IOC之循环依赖处理

什么是循环依赖 循环依赖其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如下图所示: 注意,这里不是函数的循环调用,是对象的相互依赖关系。循环调用其实就是一个死循环,除非有终结条件。 最全面的Java面试网站 Spring中循环 ......
源码 Spring IOC

Spring事务管理

Spring事务管理1 Spring事务简介【重点】1.1 Spring事务作用事务作用:在数据层保障一系列的数据库操作同成功同失败Spring事务作用:在数据层或业务层保障一系列的数据库操作同成功同失败1.2 案例分析Spring事务需求:实现任意两个账户间转账操作需求微缩:A账户减钱,B账户加钱 ......
事务管理 事务 Spring

Spring中有哪些依赖注入的方式

Spring中有哪些依赖注入的方式 有2种实现方式: 注解(如@Autowired,@Resource,@Required) 配置文件(如xml) 1.注解: @Component public class MyService { private Dependency dependency; @Au ......
方式 Spring

Spring源码解析——IOC属性填充

正文 doCreateBean() 主要用于完成 bean 的创建和初始化工作,我们可以将其分为四个过程: 最全面的Java面试网站 createBeanInstance() 实例化 bean populateBean() 属性填充 循环依赖的处理 initializeBean() 初始化 bean ......
源码 属性 Spring IOC

spring BeanUtils.copyProperties 版本更新赋值失败

今天遇到了个小问题 是由于springboot 版本升级导致的 BeanUtils.copyProperties 赋值失败,结果就导致了用户无法登录的问题 目前的版本是 <parent> <groupId>org.springframework.boot</groupId> <artifactId> ......
copyProperties BeanUtils 版本 spring

spring学习1

1.使用Ioc容器管理bean,bean是Ioc容器中对象的统称(servlet,dao) 控制反转 (这难道是我之前Java项目中写了无数次的bean的由来吗) 2.在Ioc容器内将有依赖关系给bean进行关系绑定 依赖注入 这两个操作可以使原本的程序充分解耦,达到使用对象时不仅可以直接从Ioc容 ......
spring

3.SpringBoot——IOC和AOP原理

Spring框架概述 Spring是轻量级的Java EE框架。Spring有两个核心:IOC和AOP IOC:Invention Of Control控制反转,把创建对象过程交给 Spring 进行管理的思想。 AOP:Aspect Oriented Programming面向切面编程,不修改源代 ......
SpringBoot 原理 IOC AOP

Spring-AOP根据spel获取方法参数值、Bean对象属性值

Spring-AOP根据spel获取方法参数值、Bean对象属性值,动态的获取属性值,可以用来做注解式分布式锁、注解式获取属性值等等。 第一步:自定义注解,代码如下所示 package com.example.springbootstudy.interfaces; import java.lang. ......
Spring-AOP 属性 对象 参数 方法

2.SpringBoot——常用注解

Controller层 //设置当前控制器类为RESTful风格,等同于@Controller与@ResponseBody两个注解的组合功能 @RestController //设置当前控制器方法(模块)的请求访问路径 @RequestMapping("/web/role") //依赖注入/自动装配 ......
注解 SpringBoot 常用

1.SpringBoot——概述

SpringBoot和SSM开发中有什么区别 Spring Boot没有颠覆Java EE开发,还是要学Spring,它是诸葛亮,提供多种用兵打仗的方案。 SSM限定死了只能使用SSM开发Java Web应用。而SpringBoot没有与任何MVC框架绑定。 一个很恰当的比喻是,Spring MVC ......
SpringBoot

SpringBoot简易任务栏示例

一、概述 现有这样一个需求:前端要求实现类似任务栏的东西(windows电脑的任务栏)。要求:可以向任务栏增加图标、删除图标、给任务栏中的图标排序以及加载任务栏图标列表 参考样例图: 规律图: 思路:(这里假设任务栏图标列表本身就是一个有序的集合,排序规则按照sort正向排序) 新增: 增加一个图标 ......
示例 SpringBoot 简易 任务

Spring、Redis相关知识查漏补缺

动态web页面不具有动态性 × 静态web页面不具有交互性 √ 事务隔离级别是数据库自带的与Spring无关 √ Spring自己实现了—套与数据库无关的事务机制 × 软件框架是面向某个领域的、可复用的半成品软件 √ 使用软件框架的优势是开发的灵活性和扩展性更好 × 拦截器可以拦截所有请求(包括静态 ......
知识 Spring Redis

Springboot中的context-path作用

首先context-path用于构成url,我们在配置文件的时候 server: servlet: context-path: /test 之后在本地访问端口8080时(此处拿knife4j举列) 本来要访问的是:localhost:8080/doc.html 但是现在由于加了context-pat ......
context-path Springboot 作用 context path

spring学习三:IoC概述

IOC:控制反转,它并不是一种技术而是一种设计思想,是一个重要的面向对象编程法则,能够知道我们如何设计出松耦合,更优良的程序。 Spring通过IOC容器来管理所有java对象的实例化和初始化,控制对象与对象之间的依赖关系,我们将由IOC容器管理的java对象称为Spring Bean,它与使用关键 ......
spring IoC

基于Spring事件驱动模式实现业务解耦

事件驱动模式 举个例子🌰 大部分软件或者APP都有会有会员系统,当我们注册为会员时,商家一般会把我们拉入会员群、给我们发优惠券、推送欢迎语什么的。 值得注意的是: 注册成功后才会产生后面的这些动作; 注册成功后的这些动作没有先后执行顺序之分; 注册成功后的这些动作的执行结果不能互相影响; 传统写法 ......
解耦 模式 事件 业务 Spring

Spring Boot 自定义注解,AOP 切面统一打印出入参请求日志

今天主要说说如何通过自定义注解的方式,在 Spring Boot 中来实现 AOP 切面统一打印出入参日志。小伙伴们可以收藏一波。 废话不多说,进入正题! 一、先看看切面日志输出效果 在看看实现方法之前,我们先看下切面日志输出效果咋样: 从上图中可以看到,每个对于每个请求,开始与结束一目了然,并且打 ......
切面 注解 Spring 日志 Boot

SpringBoot学习二

Spring核心功能 @springBootApplication注解@SpringBootApplication是spring boot的核心注解,它其实是一个组合注解,组合了以下注解:@SpringBootConfiguration:这是Spring Boot项目的配置注解,这也是一个组合注解. ......
SpringBoot

OA系统 SpringBoot2+MyBatis+MySQL5.7

OA系统 一、系统简介 本系统为银行内部OA系统,系统分为六大模块:公文管理,资产管理,辅助办公,档案管理,个人中心,系统管理。 本系统有完整的权限验证及灵活的系统配置功能。 系统角色默认有管理员,资产管理员,资产盘点员,主任,普通用户 管理员(admin/admin):可以看到和操作所有菜单 资产 ......
SpringBoot2 SpringBoot MyBatis MySQL5 系统

薪资管理系统 SpringBoot2+MyBatis+MySQL5.7

薪资管理系统 一、系统介绍 这是一个界面简洁的薪资管理系统,虽然界面简单,但其工资项配置,与考勤挂钩,自动核算功能强大,并有完整的从菜单到按钮的操作权限控制。 系统分为了五大模块:考勤与工资,薪资设置,部门管理,公告管理,系统管理。 系统默认有两个角色:管理员,普通用户 管理员(admin/admi ......

招投标管理系统 SpringMVC+MyBatis+MySQL+JSP

招投标管理系统 一、系统介绍 招投标管理系统是一个简化的招投标系统,为企业进行招投标活动提供信息化的支持,优化招投标流程,减轻招投标管理人员工作负担,提高工作效力发挥很大作用。 系统分为五大模块:公告管理,投标管理,评标管理,系统管理,系统维护。 招投标的基本流程: 第一步:由招标员(招标员由系统管 ......
SpringMVC 管理系统 MyBatis 系统 MySQL

绩效考核系统 SpringBoot2+MyBatis+MySQL5.7

绩效考核系统 一、系统介绍 本系统为绩效考核系统,系统分为三大模块:考核设置,绩效考核,系统管理。 可满足小企业对员工进行考核。本系统最大特色是有强大和灵活的权限控制功能,所有菜单,按钮功能均可由管理通过配置来控制。 系统默认有三个角色:管理员,领导,普通用户 管理员(admin/admin):可以 ......
SpringBoot2 绩效 SpringBoot MyBatis MySQL5

就业管理系统 SpringBoot2+MyBatis+MySQL5.7

就业管理系统 一、系统介绍 本系统为就业管理系统,主要围绕高校毕业生的毕业情况进行跟踪和分析,为学校领导对专业设置优化,为高校毕业生就业方向提供参考。 系统分为六大模块:就业管理,招聘咨询,通告管理,学院管理,师生管理,系统管理。 系统默认有三个角色:管理员,老师,学生用户 管理员(admin/ad ......

人事管理系统 SpringBoot2+MyBatis+MySQL5.7

人事管理系统 一、系统介绍 本系统为人事管理系统,系统分为七大模块:绩效考核,招聘管理,档案管理,工资管理,考勤管理,培训管理,系统管理。 可满足小企业日常办公。本系统最大特色是有强大和灵活的权限控制功能,所有菜单,按钮功能均可由管理通过配置来控制。 系统默认有四个角色:管理员,财务专员,人事专员, ......

Spring中@Autowired和@Resource的区别

说明 @Autowired这个注解呢,是由Spring提供的;@Resource由JDK提供的 区别 ①注解内参数不同 @Autowired只包含一个required参数,默认为true,表示开启自动注入 @Resource 包含七个参数,其中最重要的两个是name和type ②装配方式默认值不同 ......
Autowired Resource Spring

Spring Cloud Admin

一、Admin简介 提供友好的界面展示actuator统计的数据,可以很好的监控整个微服务系统中的实例运行情况信息。 服务异常告警。 二、服务端配置 启动类添加@EnableAdminServer注解 <!-- Admin 服务 --> <dependency> <groupId>de.codece ......
Spring Cloud Admin

SpringBoot2.7升级到3.0的实践分享

背景 最近把项目中的技术框架做一次升级,最重要的就是SpringBoot从2.7.x升级到3.0.x,当然还会有一些周边的框架也会连带着升级,比如Mybatis Plus,SpringCloud等,话不多说直接看看有哪些事情要做。 具体事项 主要分两类,第一类是单纯的提升版本,主要如下: 1.jdk ......
SpringBoot2 SpringBoot 3.0