Spring

Spring源码解析——ApplicationContext容器refresh过程

正文 在之前的博文中我们一直以BeanFactory接口以及它的默认实现类XmlBeanFactory为例进行分析,但是Spring中还提供了另一个接口ApplicationContext,用于扩展BeanFactory中现有的功能。 ApplicationContext和BeanFactory两者 ......

Spring源码解析——IOC之bean 的初始化

正文 一个 bean 经历了 createBeanInstance() 被创建出来,然后又经过一番属性注入,依赖处理,历经千辛万苦,千锤百炼,终于有点儿 bean 实例的样子,能堪大任了,只需要经历最后一步就破茧成蝶了。这最后一步就是初始化,也就是 initializeBean(),所以这篇文章我们 ......
源码 Spring bean IOC

SSM,Spring Boot和Redis学习中出错的问题

1. Spring 1.1 Spring事务 事务隔离级别是数据库自带的,与Spring无关 √ Spring自己实现了一套与数据库无关的事务机制 × @Transactional注解主要是针对数据的增加、修改、删除和查询进行事务管理 × 1.2 Spring的Session会话 Session会话 ......
Spring 问题 Redis Boot SSM

Spring Cloud 5大组建有哪些

......
Spring Cloud

告别复杂逻辑,项目终于用上了 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

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

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

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

Spring、Redis相关知识查漏补缺

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

spring学习三:IoC概述

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

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

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

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

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

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

Spring Boot中配置文件介绍及其使用教程

一、配置文件介绍SpringBoot项目中,大部分配置都有默认值,但如果想替换默认配置的话,就可以使用application.properties或者application.yml或者application.yaml进行配置。SpringBoot默认会从resources目录下加载applicati ......
文件 教程 Spring Boot

Spring事务失效的10大场景

Spring事务失效的10大场景 对于从事java开发工作的同学来说,Spring的事务肯定是再熟悉不过了,我们一般就用一个简单的注解:@Transactional,就能轻松搞定事务。但是如果使用不当,也会坑到你怀疑人生。 那今天我们就来聊一聊,事务失效的场景。 总的来说分为两种,一种是事务不生效, ......
场景 事务 Spring

Spring Boot 配置 log4j2

本教程中,我们将学习如何在 Spring Boot 中整合使用 Log4j2 日志框架。 Log4j2 介绍 Spring Boot 中默认使用 Logback 作为日志框架,接下来我们将学习如何在 Spring Boot 中集成与配置 Log4j2。在配置之前,我们需要知道的是 Log4j2 是 ......
Spring log4j2 Boot log4 log

Spring+MyBatis配置文件

spring-config.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/ ......
MyBatis 文件 Spring

Spring AOP

Sping AOP 什么是AOP AOP(Aspect Oriented Programming)意为面向切面编程。 一种通过预编译方式和运行期动态代理实现程序功能的统一维护的技术。 对业务逻辑各个部分隔离,降低耦合度,提高重用性,开发效率。 主要功能:日志记录,性能统计,安全控制,事务处理,异常处 ......
Spring AOP

Spring事务

Spring事务 什么是Spring事务 Spring 框架对数据库操作的一种支持,通过对一组数据库操作整体操作来保证数据的一致性和完整性。可以保证在一组数据库操作执行时,所有操作成功或所有操作回滚,避免数据不一致。 Spring事务实现方式 编程式事务:需要在代码中手动控制事务的开始,提交和回滚等 ......
事务 Spring

Spring Ioc

Spring Ioc 容器什么是IocIoc即Inversion of control,翻译为控制反转。应用不负责依赖对象的创建维护,转而由外部容器负责。将依赖对象的创建维护的控制交由容器即为控制权的转移,也就是所谓的控制反转--Ioc!什么是DIDI(Dependency Injection)依赖 ......
Spring Ioc

Spring的事务传播机制

事务传播机制 方法A调用方法B,事务的传播机制主要针对被调用方(方法B) 传播行为 描述 required 默认,如果上下文中存在事务A,则事务B加入到事务A变成一个事务;不存在,则创建一个事务B requires_new 如果上下文中存在事务A,则将上下文的事务A挂起,然后新建一个事务B (事务A ......
机制 事务 Spring

Spring配置文件

pom.xml如下 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan ......
文件 Spring

Spring概述

Spring概述 简介 Spring 是一个开源的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。 2002 年,Rod Jahnson 首次推出了 Spring 框架雏形 interface21 框架。 2004 年3月24日,Spring 框 ......
Spring

Spring IoC

引言 要明白 Spring IoC 容器的作用,就必须先弄明白 IoC(控制反转) 和 DI(依赖注入) 这两个概念。 IoC 概念 IoC(控制反转)就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责,这样控制权就由应用转移到了外部容器,控制权的转移就是所谓的反转。控制权 ......
Spring IoC