切面spring aop
springboot启动时指定spring.profiles.active
使用命令行直接运行jar文件: java -jar -Dspring.profiles.active=test demo-0.0.1-SNAPSHOT.jar 启动进程 nohup java -jar demo-0.0.1-SNAPSHOT.jar > log.file 2>&1 &上面的2 和 1 ......
Spring Cloud Alibaba服务的注册与发现之Nacos部署
1、Nacos官网介绍 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式 ......
Spring Cloud相关组件说明
1、Spring Cloud版本 现有Spring Cloud有两代实现,分为Spring Cloud Netflix和Spring Cloud Alibaba,由于SpringCloud Netflix版一些重要组件如注册中心Euraka、Ribbon已经不再迭代更新了,Spring Cloud ......
面试官:Spring Boot 最大连接数和最大并发数是多少?问倒一大片!
每个Spring Boot版本和内置容器不同,结果也不同,这里以Spring Boot 2.7.10版本 + 内置Tomcat容器举例。 概序 在SpringBoot2.7.10版本中内置Tomcat版本是9.0.73,SpringBoot内置Tomcat的默认设置如下: Tomcat的连接等待队列 ......
Spring入门篇
Spring Frameword Spring Framework是Spring生态圈中最基础的项目,是其他项目的根基 1.1 Spring Frameword系统架构图 1.2 Spring Frameword学习路线 1.3 核心概念 代码现状 耦合度偏高 解决方案 使用对象时,在程序中不要主动 ......
Spring单例循环依赖分析
Spring单例循环依赖分析 前置流程:getBean()之前,BeanDefinition已经被注册到容器中。然后是单例getBean的整体流程,以及出现循环依赖的解决方式。生命周期之类的函数不在本文范围内。文中可能有些东西解释的不准或者不对。 Reference 最初的简单疑惑 一开始看源码的一 ......
Spring扩展接口(2):BeanDefinitionRegistryPostProcessor
在此系列文章中,我总结了Spring几乎所有的扩展接口,以及各个扩展点的使用场景。并整理出一个bean在spring中从被加载到最终初始化的所有可扩展点的顺序调用图。这样,我们也可以看到bean是如何一步步加载到spring容器中的。 BeanDefinitionRegistryPostProces ......
Spring Boot 访问静态资源css/js
一、前言 我们用 Spring Boot 搭建 Web 应用时(如搭建一个博客),经常需要在 Html 中访问一些静态资源,比如: css 样式; js 脚本; favicon.ico 图标等; 而在 Spring Boot 中如果没有做任何配置,是无法直接访问静态资源的,通常会报 404 错误 二 ......
Spring源码解析——ApplicationContext容器refresh过程
正文 在之前的博文中我们一直以BeanFactory接口以及它的默认实现类XmlBeanFactory为例进行分析,但是Spring中还提供了另一个接口ApplicationContext,用于扩展BeanFactory中现有的功能。 ApplicationContext和BeanFactory两者 ......
Spring源码解析——IOC之bean 的初始化
正文 一个 bean 经历了 createBeanInstance() 被创建出来,然后又经过一番属性注入,依赖处理,历经千辛万苦,千锤百炼,终于有点儿 bean 实例的样子,能堪大任了,只需要经历最后一步就破茧成蝶了。这最后一步就是初始化,也就是 initializeBean(),所以这篇文章我们 ......
SSM,Spring Boot和Redis学习中出错的问题
1. Spring 1.1 Spring事务 事务隔离级别是数据库自带的,与Spring无关 √ Spring自己实现了一套与数据库无关的事务机制 × @Transactional注解主要是针对数据的增加、修改、删除和查询进行事务管理 × 1.2 Spring的Session会话 Session会话 ......
告别复杂逻辑,项目终于用上了 Spring 状态机,非常优雅!
告别复杂逻辑,项目终于用上了 Spring 状态机,非常优雅! 1、什么是状态机 1.1 什么是状态 先来解释什么是“状态”( State )。现实事物是有不同状态的,例如一个自动门,就有 open 和 closed 两种状态。我们通常所说的状态机是有限状态机,也就是被描述的事物的状态的数量是有限个 ......
Spring Boot WebMvcConfigurer
Spring Boot WebMvcConfigurer, 它被用来确定Spring Boot全局的MVC 属性,通常需要定义一个实现 WebMvcConfigurer 接口配置类,然后在此类中配置相关MVC属性。 如下示例代码所示: package com.exception.qms.config ......
Spring源码解析——IOC之循环依赖处理
什么是循环依赖 循环依赖其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如下图所示: 注意,这里不是函数的循环调用,是对象的相互依赖关系。循环调用其实就是一个死循环,除非有终结条件。 最全面的Java面试网站 Spring中循环 ......
Spring事务管理
Spring事务管理1 Spring事务简介【重点】1.1 Spring事务作用事务作用:在数据层保障一系列的数据库操作同成功同失败Spring事务作用:在数据层或业务层保障一系列的数据库操作同成功同失败1.2 案例分析Spring事务需求:实现任意两个账户间转账操作需求微缩:A账户减钱,B账户加钱 ......
Spring中有哪些依赖注入的方式
Spring中有哪些依赖注入的方式 有2种实现方式: 注解(如@Autowired,@Resource,@Required) 配置文件(如xml) 1.注解: @Component public class MyService { private Dependency dependency; @Au ......
Spring源码解析——IOC属性填充
正文 doCreateBean() 主要用于完成 bean 的创建和初始化工作,我们可以将其分为四个过程: 最全面的Java面试网站 createBeanInstance() 实例化 bean populateBean() 属性填充 循环依赖的处理 initializeBean() 初始化 bean ......
spring BeanUtils.copyProperties 版本更新赋值失败
今天遇到了个小问题 是由于springboot 版本升级导致的 BeanUtils.copyProperties 赋值失败,结果就导致了用户无法登录的问题 目前的版本是 <parent> <groupId>org.springframework.boot</groupId> <artifactId> ......
spring学习1
1.使用Ioc容器管理bean,bean是Ioc容器中对象的统称(servlet,dao) 控制反转 (这难道是我之前Java项目中写了无数次的bean的由来吗) 2.在Ioc容器内将有依赖关系给bean进行关系绑定 依赖注入 这两个操作可以使原本的程序充分解耦,达到使用对象时不仅可以直接从Ioc容 ......
3.SpringBoot——IOC和AOP原理
Spring框架概述 Spring是轻量级的Java EE框架。Spring有两个核心:IOC和AOP IOC:Invention Of Control控制反转,把创建对象过程交给 Spring 进行管理的思想。 AOP:Aspect Oriented Programming面向切面编程,不修改源代 ......
Spring-AOP根据spel获取方法参数值、Bean对象属性值
Spring-AOP根据spel获取方法参数值、Bean对象属性值,动态的获取属性值,可以用来做注解式分布式锁、注解式获取属性值等等。 第一步:自定义注解,代码如下所示 package com.example.springbootstudy.interfaces; import java.lang. ......
Spring、Redis相关知识查漏补缺
动态web页面不具有动态性 × 静态web页面不具有交互性 √ 事务隔离级别是数据库自带的与Spring无关 √ Spring自己实现了—套与数据库无关的事务机制 × 软件框架是面向某个领域的、可复用的半成品软件 √ 使用软件框架的优势是开发的灵活性和扩展性更好 × 拦截器可以拦截所有请求(包括静态 ......
spring学习三:IoC概述
IOC:控制反转,它并不是一种技术而是一种设计思想,是一个重要的面向对象编程法则,能够知道我们如何设计出松耦合,更优良的程序。 Spring通过IOC容器来管理所有java对象的实例化和初始化,控制对象与对象之间的依赖关系,我们将由IOC容器管理的java对象称为Spring Bean,它与使用关键 ......
基于Spring事件驱动模式实现业务解耦
事件驱动模式 举个例子🌰 大部分软件或者APP都有会有会员系统,当我们注册为会员时,商家一般会把我们拉入会员群、给我们发优惠券、推送欢迎语什么的。 值得注意的是: 注册成功后才会产生后面的这些动作; 注册成功后的这些动作没有先后执行顺序之分; 注册成功后的这些动作的执行结果不能互相影响; 传统写法 ......
Spring Boot 自定义注解,AOP 切面统一打印出入参请求日志
今天主要说说如何通过自定义注解的方式,在 Spring Boot 中来实现 AOP 切面统一打印出入参日志。小伙伴们可以收藏一波。 废话不多说,进入正题! 一、先看看切面日志输出效果 在看看实现方法之前,我们先看下切面日志输出效果咋样: 从上图中可以看到,每个对于每个请求,开始与结束一目了然,并且打 ......
Spring中@Autowired和@Resource的区别
说明 @Autowired这个注解呢,是由Spring提供的;@Resource由JDK提供的 区别 ①注解内参数不同 @Autowired只包含一个required参数,默认为true,表示开启自动注入 @Resource 包含七个参数,其中最重要的两个是name和type ②装配方式默认值不同 ......