
spring框架
文章平均质量分 58
小甄笔记
这个作者很懒,什么都没留下…
展开
-
@Lazy注解解决循环依赖和三级缓存的区别
Lazy注解是Spring框架提供的一种解决循环依赖问题的方式。当两个或多个Bean之间存在循环依赖时,可以使用@Lazy注解延迟初始化其中一个Bean,从而打破循环依赖。因为spring的三级缓存只能解决上面这两种循环依赖,还有其他的循环依赖无法解决。解释:就在是创建bean的时候,先创建InstanceC,后创建InstanceA。原创 2024-03-18 16:37:44 · 694 阅读 · 0 评论 -
spring Bean的生命周期
在Bean初始化之前,允许自定义的BeanPostProcessor对Bean实例进行处理,如修改Bean的状态BeanPostProcessor的postProcessBeforelnitialization方法会在此时被调用.由AbstractAutowireCapableBeanFactory的applyBeanPostProcessorsBeforelnitialization万执行。如果Bean在配置文件中定义了销毁方法,那么该方法会被调用。Spring容器注入必要的属性到Bean中。原创 2024-01-31 12:31:08 · 417 阅读 · 0 评论 -
spring的事物传播机制
在复杂的业务场景中,多个事务方法之间的调用可能会导致事务的不一致,如出现数据丢失、.重复提交等问题,使用事务传播机制可以避免这些问题的发生,保证事务的一致性和完整性。Spring的事务规定了7种事务的传播级别,默认的传播机制是REQUIRED。Spring的事务传播机制用于控制在多个事务方法相互调用时事务的行为。原创 2024-01-14 20:10:03 · 408 阅读 · 0 评论 -
Spring Bean初始化方式
假设类UserController有个成员变量UserService被**@Autowired**修饰,那么UserService的注入是在UserController的构造方法之后执行的。InitializingBean是Spring提供的拓展性接口,InitializingBean接口为bean提供了属性初始化后的处理方法,它只有一个afterPropertiesSet方法,凡是继承该接口的类,在bean的属性初始化后都会执行该方法。**总结:**类初始化调用顺序:构造方法。原创 2024-01-14 20:05:17 · 542 阅读 · 0 评论 -
spring和springBoot
Spring框架解决了企业级的开发的复杂性,它是一个容器框架,用于装java对象(Bean),使程序间的依赖关系交由容器统一管理,松耦合,提高了可测试性和维护效率,Spring主要为我们做了两件事,一省去了我们创建对象的操作,二声明了属性赋值。,有时候配置起来十分麻烦,降低了编程效率。总体而言,Spring框架就是为我们解决开发中的基础性问题,使我们开发者可以更加专注于应用程序的开发,并且Spring框架是轻量级框架,扩展性强,非侵入式框架,消耗的资源少,占用的空间小,运行和部署简单。原创 2023-11-29 21:07:23 · 551 阅读 · 0 评论 -
springBoot
我们可以通过basePackages等属性指定@ComponentScan自动扫描的范围,如果不指定,则默认Spring框架实现从声明@ComponentScan所在类的package进行扫描,默认情况下是不指定的,所以SpringBoot的启动类最好放在root package下。继承自@Configuration,二者功能也一致,标注当前类是配置类, 并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到spring容器中,并且实例名就是方法名。,@ComponentScan这三个注解。原创 2023-11-29 20:06:35 · 1050 阅读 · 0 评论 -
jdk动态代理和CGLIBE代理
因此,事物是动态代理是JDK动态代理还是CGLIB代理,需要根据具体实现方式来确定。如果是通过Java反射机制动态生成字节码,则是JDK动态代理;使用jdk的反射机制,创建对象的能力,创建的是代理类的对象。jdk动态代理,必须有接口,目标类必须实现接口,没有接口时,需要使用cylib动态代理。而CGLIB动态代理机制则是通过继承目标类并生成其子类的方式实现动态代理。**动态:**在程序执行时,调用JDK提供的方法才能创建代理类的对象。实现动态代理的方式通常有JDK动态代理机制和CGLIB动态代理机制。原创 2023-11-29 18:25:23 · 440 阅读 · 0 评论 -
springBoot中starter
项目引入xxljob,仅需要导入对应的starter包,即可进行快速开发。原创 2023-11-18 12:56:57 · 206 阅读 · 0 评论 -
spring中自定义过滤器
自定义过滤器原创 2022-11-22 16:13:33 · 1056 阅读 · 0 评论 -
JWT(JSON WEB TOKEN)
JWT逻辑、工具类、代码案例原创 2022-11-21 16:43:55 · 566 阅读 · 0 评论 -
springboot配置文件加载
配置文件加载顺序原创 2022-08-29 17:16:38 · 329 阅读 · 0 评论 -
springboot2启动过程
springboot启动过程原创 2022-08-29 17:04:01 · 526 阅读 · 0 评论 -
所有java状态码详解
package org.springframework.http;import org.springframework.lang.Nullable;public enum HttpStatus { CONTINUE(100, "Continue"), SWITCHING_PROTOCOLS(101, "Switching Protocols"), PROCESSING(102, "Processing"), CHECKPOINT(103, "Checkpoint").原创 2021-12-22 13:16:57 · 701 阅读 · 0 评论 -
spring IOC和AOP的理解
简介Spring的IoC容器是spring的核心,spring AOP是spring框架的重要组成部分我们在使用Spring框架的过程中,其实就是为了使用IOC(依赖注入)和AOP(面向切面编程),这两个是Spring的灵魂。主要用到的设计模式有工厂模式和代理模式。IOC就是典型的工厂模式,通过sessionfactory去注入实例;AOP就是典型的代理模式的体现IOC(Inverse of Control):控制反转,也可以称为依赖倒置IOC负责创建对象,管理对象(通过依赖注入(DI),装原创 2020-12-11 11:12:33 · 720 阅读 · 1 评论 -
StringUtils工具类
@Componentpublic class SpringUtils<T> implements ApplicationContextAware { private ApplicationContext applicationContext; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { .原创 2020-12-11 09:33:57 · 119 阅读 · 0 评论 -
BeanFactory和ApplicationContext的区别
接口类图BeanFactoryBeanFactory是spring的原始接口,针对原始结构的实现类功能比较单一,BeanFactory接口实现的容器,特点是在每次获取对象时才会创建对象。ApplicationContext继承了BeanFactory接口,拥有BeanFactory的全部功能,并且扩展了很多高级特性,每次容器启动时就会创建所有的对象。创建ApplicationContext的方法:丛类路径下加载配置文件:ClassPathXmlApplicationContex.原创 2020-11-13 16:49:50 · 245 阅读 · 1 评论 -
spring中BeanFactory和FactoryBean的区别
区别:BeanFactory是个Factory,也就是IOC容器或对象工厂,FactoryBean是个Bean。在Spring中,所有的Bean都是由BeanFactory(也就是IOC容器)来进行管理的。但对FactoryBean而言,这个Bean不是简单的Bean,而是一个能生产或者修饰对象生成的工厂Bean,它的实现与设计模式中的工厂模式和修饰器模式类似BeanFactoryBeanFactory定义了IOC容器的最基本形式,并提供了IOC容器应遵守的的最基本的接口,也就是SpringIOC.原创 2020-11-10 22:21:42 · 263 阅读 · 1 评论 -
Spring容器中Bean的作用域
当我们通过spring容器创建一个Bean实例时,不仅可以完成该Bean的实例化,而且还可以指定该Bean的作用域,Spring支持的五种作用域如下:singleton:单例模式,singleton作用域下的Bean将只产生一个实例,因此我们每次获取的实例都是同一实例。prototype:每次通过getBean()方法获取Bean实例时,都会产生一个新的Bean实例,因此每次的实例都不同request:用于Web应用,对于一次Http请求,request作用域内的Bean只生成一个Bean,也就原创 2020-11-10 21:58:00 · 248 阅读 · 0 评论 -
spring的两大事件
Application事件:一类是Application事件,超类是SpringApplicationEvent,这类事件是在Spring程序启动时,过程中分为几个阶段,每进行一个阶段,发出一个事件,依次对应ApplicationStartingEvent到ApplicationReadyEvent。标志着Application从启动开始到启动完成,各个阶段的分割点。参考Spring启动过程中...原创 2020-05-01 14:44:20 · 131 阅读 · 0 评论 -
spring的InitializingBean的作用
spring配置文件:?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:jdbc="h...原创 2020-05-01 14:32:06 · 1316 阅读 · 0 评论 -
springIOC声明Bean的方式
属性声明<bean id="student" class="com.atguigu.spring.bean.Student"> <property name="id" value="1"/> <property name="name" value="zhangsan"/> <property name="age" value=...原创 2020-03-29 23:07:45 · 214 阅读 · 0 评论 -
SSM项目搭建
1、SSM:spring+springmvn+mybatisSpringMVC + Spring :父容器:SpringICO容器管理Service层+Mpper层子容器:springMVC容器管理Controller层MyBatis + Spring :mybatis数据源管理托管给spring去管理mybatis框架的核心对象SqlSessionFactory对象托...原创 2020-03-29 19:54:32 · 201 阅读 · 0 评论 -
spring知识点
Spring框架是一个开源的,基于IOC和AOP的容器框架IOC:Inversion Of Controller 控制反转:1、即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制,我们直接在对象内部通过new进行创建对象,是程序主动去创建依赖对象;而IoC是有专门一个容器来创建这些对象,并且这些对象由...原创 2020-03-29 22:16:11 · 126 阅读 · 0 评论