spring
文章平均质量分 61
Nathaniel333
源码爱好者/java八股文总结者/AI爱好者
展开
-
面试专栏:SpringBoot特有注解
这是 Spring 3.0 添加的新注解,用来导入一个或者多个 Spring 配置文件,这对 Spring Boot 兼容老项目非常有用,因为有些配置无法通过 Java Config 的形式来配置就只能用这个注解来导入。这是 Spring Boot 最最最核心的注解,用在 Spring Boot 主类上,标识这是一个 Spring Boot 应用,用来开启 Spring Boot 的各项能力。用在自动配置类上面,表示该自动配置类需要在另外指定的自动配置类配置完之后。原创 2024-03-13 07:38:37 · 876 阅读 · 0 评论 -
面试专栏:Spring事务传播行为
适用于需要独立事务控制的复杂事务场景,比如,当部分数据操作需要回滚,而不影响外部事务时。:如果当前存在事务,则加入该事务;这种传播行为适用于不需要事务控制的读操作,但如果调用方法在事务中,则该方法也会在事务中执行。Spring 事务的传播行为定义了业务方法对事务的处理方式,特别是在事务嵌套的情况下。:总是启动一个新的事务,如果当前存在事务,则将当前事务挂起。适用于需要完全独立于外部事务执行的操作,例如,当需要保证操作不被外部事务的影响时。适用于不应该在事务环境中执行的操作,比如,可能会长时间运行的操作。原创 2024-03-12 21:44:20 · 502 阅读 · 0 评论 -
面试专栏:Spring事务
Spring使用AOP在方法执行前后织入事务管理逻辑。事务管理是通过围绕业务方法执行的代理实现的。:通过注解或XML配置声明方法或类需要事务管理。Spring根据这些声明自动应用事务。:Spring通过接口与底层事务管理API(如JDBC、JPA)交互。:支持不同的事务传播行为,如REQUIRED、REQUIRES_NEW等,决定事务如何在方法间传播。:支持设置不同的事务隔离级别,如READ_COMMITTED、SERIALIZABLE等,控制事务的可见性。原创 2023-11-29 20:50:45 · 339 阅读 · 0 评论 -
面试专栏:Spring循环依赖
存放完全初始化好的Bean,即可以直接使用的Bean。:存放原始的Bean实例,这个实例还没有被填充属性。:存放Bean的工厂对象,用于解决需要通过代理增强的Bean。原创 2023-11-29 18:50:55 · 370 阅读 · 0 评论 -
面试专栏:Spring常见注解
组合注解,用于启动Spring Boot应用,包括@Configuration、@EnableAutoConfiguration和@ComponentScan。:用于方法上,表明该方法将返回一个对象,该对象要注册为Spring应用上下文中的Bean。:标记在服务层类上,表明这是一个服务(业务逻辑)类,是@Component的特化。:标记在数据访问层类上,表明这是一个数据仓库,是@Component的特化。:标记在控制器类上,用于定义Web请求的处理。:将URL中的变量值绑定到处理器方法的参数上。原创 2023-11-28 08:57:20 · 436 阅读 · 0 评论 -
面试专栏:SpringBoot自动装配
组合注解,包含了和。:告诉Spring Boot基于类路径设置、其他bean和各种属性设置自动配置。:扫描并注册标有@Component@Service等注解的bean。:标记配置类,可以使用@Bean注解定义Bean。:在方法上使用,表明该方法产生一个bean,并交由Spring容器管理。原创 2023-11-27 19:52:04 · 377 阅读 · 0 评论 -
面试专栏:bean生命周期
接口,Spring将Bean的ID传递给。:此时,Bean已经准备好被系统使用了。声明初始化方法,该方法也会被调用。:当容器关闭时,如果Bean实现了。类似地,如果Bean使用了。声明销毁方法,该方法也会被调用。接口,Spring将调用它们的。接口,Spring将调用它们的。同样,如果Bean使用了。:首先创建Bean的实例。接口,Spring将调用其。接口,Spring将调用其。接口,Spring将调用。:如果Bean实现了。:如果Bean实现了。:如果Bean实现了。:如果Bean实现了。原创 2023-11-27 07:19:34 · 589 阅读 · 0 评论 -
面试专栏:MVC请求接收过程
【代码】面试专栏:MVC请求接收过程。原创 2023-11-25 07:52:29 · 367 阅读 · 0 评论 -
面试专栏:IOC简述
在Spring中,Bean是构成应用程序的对象。Bean及其属性通常在XML文件中配置,或者通过注解在Java类中声明。原创 2023-11-25 07:35:40 · 337 阅读 · 0 评论 -
面试专栏:AOP简述
创建一个类来定义切面。在这个类中,你可以定义各种类型的通知(Advice),如前置通知(Before)、后置通知(After)、环绕通知(Around)等。@Component@Aspect// 在方法执行前执行的代码// 可以定义其他类型的通知,如@After, @AfterReturning, @AfterThrowing, @Around在切面类中,你需要定义一个或多个切入点(Pointcut)。切入点表达式决定了通知将应用于哪些方法。// ...原创 2023-11-25 07:29:13 · 1009 阅读 · 0 评论 -
Spring事务专题
表示一个事务的定义,将根据它规定的特性去开启事务。事务的传播等级和隔离级别的常量同样定义在这个接口中。/*** 返回事务的传播级别*//*** 返回事务的隔离级别*//*** 事务超时时间*//*** 是否为只读事务(只读事务在处理上能有一些优化)*//*** 返回事务的名称*/@Nullable/*** 默认的事务配置*/原创 2023-10-14 21:30:28 · 34 阅读 · 0 评论 -
Bean生命周期专题
spring的bean的生命周期主要是创建bean的过程,一个bean的生命周期主要是4个步骤,原创 2023-10-12 21:17:05 · 30 阅读 · 0 评论 -
SpringBoot启动专题
一,启动流程图原创 2023-10-10 21:12:05 · 26 阅读 · 0 评论 -
jwt专题
Internet服务无法与用户身份验证分开。一般过程如下。1.用户向服务器发送用户名和密码。2.验证服务器后,相关数据(如用户角色,登录时间等)将保存在当前会话中。3.服务器向用户返回session_id,session信息都会写入到用户的Cookie。4.用户的每个后续请求都将通过在Cookie中取出session_id传给服务器。5.服务器收到session_id并对比之前保存的数据,确认用户的身份。这种模式最大的问题是,没有分布式架构,无法支持横向扩展。原创 2023-10-10 14:13:47 · 32 阅读 · 0 评论 -
依赖注入(DI)专题
依赖注入(Dependency Injection, DI)是一种设计模式,也是Spring框架的核心概念之一。其为了更好地理解DI,先了解DI要解决的问题。原创 2023-09-04 19:16:36 · 55 阅读 · 1 评论 -
Spring中的Bean专题
1、先通过扫描指定包路径下的spring注解,比如@Component、@Service、@Lazy @Sope等spring识别的注解或者是xml配置的属性(通过读取流,解析成Document,Document)然后spring会解析这些属性,将这些属性封装到BeanDefintaion这个接口的实现类中。原创 2023-09-04 17:07:38 · 35 阅读 · 0 评论 -
Spring Data专题
Spring Data JDBC Ext- 支持标准JDBC的数据库特定扩展,包括对Oracle RAC快速连接故障转移的支持,AQ JMS支持以及对使用高级数据类型的支持。·Spring Data for Apace Geode- 轻松配置和访问Apache Geode,实现高度一致,低延迟,面向数据的Spring应用程序。·Spring Data LDAP - 对Spring LDAP的 Spring Data存储库支持。·Spring Data主要使用的一些模块,根据需要选择对应的一些功能模块。原创 2023-09-02 10:11:34 · 39 阅读 · 0 评论 -
Shiro专题
安全(权限)框架认证授权加密会话管理Web集成缓存。原创 2023-09-02 09:42:38 · 27 阅读 · 0 评论 -
Spring Security专题
Apache Shiro 也是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密。Apache Shiro 的首要目标是易于使用和理解,因为安全有时候是很复杂的,甚至是痛苦的,但其实没必要这样。框架应该尽可能掩盖复杂的地方,暴露一个干净而直观的 API,来简化开发人员在应用程序安全上所花费的时间。Apache Shiro 是一个拥有许多功能的综合性的安全框架。Shiro 中有四大核心功能——身份验证授权会话管理和加密。转载 2023-09-02 07:04:42 · 32 阅读 · 0 评论 -
SpringCloud专题
在计算中,负载均衡可以改善计算机集群等多种计算资源的工作负载分布,负载均衡旨在优化资源应用,最大化吞吐量,最小化响应时间,避免任何单一资源的过载,使用多个组件冗余而不是单个组件来负责负载均衡可以提高可靠性和可用性。,利用SpringBoot开发的便利性简化了分布式系统基本设施的开发(注册中心,配置中心,消息总线,负载均衡,断路器,数据监控)都可以使用SpringBoot的开发风格做到一键启动和部署。反向代理:客户端请求到路由网关,网关受理后,对目标发送请求,拿到响应后,再返回到客户端。原创 2023-08-12 10:00:16 · 24 阅读 · 0 评论 -
微服务定义专题
SOA通过企业服务总线把不同的服务连接在一起,因为不同的服务是使用不同的技术实现的,各个独立的服务是异构的,如果没有统一的标准,则各个异构系统对外提供的接口是各式各样的。面向服务架构(SOA)是一种高层级的架构设计理念,可以在网络上使用基于通信语言的服务接口,让组件可以重复使用。微服务是一种软件架构风格,专注于单一责任与功能的小区块为基础,利用模块化组合出复杂的应用程序。采用 SOA 架构后,各个服务是相互独立运行的,甚至都不清楚某个服务到底有多少对其他服务的依赖,减少各个服务间的依赖和互相影响,做到了。原创 2023-08-10 10:16:14 · 33 阅读 · 1 评论 -
Spring MVC专题
mvc(Model View and Contoller)是一种软件设计的框架模式,他用这种方式把数据(model),业务逻辑(controller),界面显示(view)分离开来。(3)C:控制器负责接收用户输入,并且调用模型和视图来满足用户的需求,控制器不会输出也不会做出任何处理,只会接受请求并调用模型构件处理用户的请求,然后决定用哪个视图展现给用户。(1)M:模型,进行所有的数据处理工作,被模型返回的数据是中立的,模型与数据格式无关,一个模型可以为多个视图提供数据,提高了代码复用性。原创 2023-08-10 06:41:44 · 45 阅读 · 1 评论 -
Spring IOC专题
反射的应用是很广泛的,很多的成熟的框架,比如象Java中的Hibernate、Spring框架,.Net中 NHibernate、Spring.Net框架都是把“反射”做为最基本的技术手段。(2)Spring会提供ApplicationContext:BeanFactory接口的子接口,提供更多更强大的功能,一般是由开发人员使用的。6,工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。(1)IOC思想基于IOC容器完成,IOC容器底层就是对象工厂。原创 2023-08-10 05:29:25 · 47 阅读 · 1 评论 -
Spring AOP专题
AOP 为 Aspect Oriented Programming 的缩写,翻译为面向切面编程,利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。(1)aspect:切面 一种标准代码/功能,分散在应用程序的多个位置,通常与实际的业务逻辑(例如,事务管理)不同。由pointcut和advice组成。(4)Spring AOP仅仅支持方法编织,AspectJ可编织字段,方法,构造函数,静态初始值,final类,方法等,更为强大。原创 2023-08-10 05:20:56 · 48 阅读 · 1 评论 -
SprintBoot基本概念(1)
简化maven配置。可以理解为启动器,包含了一系列可以集成到应用里面的依赖包,可以一站式继承spring和其他技术。@SpringBootConfiguration:包含了@Configuration注解,实现配置文件功能。(1)properties文件(2)YAML文件(3)系统环境变量(4)命令行参数。springboot actuator可以帮助你监访问生产环境中的应用程序状态。6,springboot配置加载顺序是什么样的?4,springboot中的监视器是什么?1,什么是springboot?原创 2023-08-09 21:19:42 · 46 阅读 · 0 评论 -
Spring框架面试(2)
spring事务处理模块是通过AOP功能来实现声明式事务处理的,用事务代理工厂接口来使用Factory功能,生成proxy代理对象,通过事务拦截器完成对对应方法的拦截,将事务处理的功能编织到拦截方法中,读取ioc。(4)PROPAGATION_NOT_SUPPORT:以非事务方式运行,如果当前存在事务,则将其挂起。(2)PROPAGATION_REQUIRES:创建一个新的事务,如果当前存在事务,则将其挂起。(6)PROPAGATION_NERVER:以非事务方式运行,如果当前存在事务,则抛出异常。原创 2023-08-09 20:25:21 · 22 阅读 · 0 评论 -
SpringBoot自动装配原理
自动装配就是spring容器启动后,一些自动配置类就自动装配的IOC容器中,不需要我们手动去注入。在springBoot中,当我们加一个starter的包,spring将帮我们注入了一些类。你删掉包后,spring就不会注入。不会产生任何的影响,这就是。即自动配置包,它指定默认包的规则,扫描主程序类的所在的包及所有子包内的组件并导入到容器中。底层是利用了register给容器注入组件。该注解表明当前类是一个配置类,并且(@Configuration)是容器中的组件。1,自动装配是什么?原创 2023-08-09 08:16:46 · 50 阅读 · 0 评论 -
Spring框架面试(1)
(5)关联创建时,检查正在被创建的bean中是否有即将注入的bean,如果有检查二级缓存里面有没有创建好但没属性赋值的bean,若没有,检查三级缓存有没有正在创建中的bean,此时一般有,将此bean放入二级缓存,从三级缓存里移除。(6)之后bean被成功注入,最后执行addsigleton,将这个完全创建好的bean放入一级缓存,从二级,三级缓存中移除,并记录已经创建的单例bean。request:每次http请求都会创建一个新的bean实例,该bean实例仅仅在该http request内有效。原创 2023-08-09 07:05:24 · 27 阅读 · 0 评论 -
SpringBoot常见注解
组件扫描,让springboot扫描到configuration类并添加到程序上下文(默认装配标识@Controller,@Service,@Component,@Repository的注解的类到spring容器中)@Scope在和@Component注解一起修饰在类上,作为类级别注解时,@Scope表示该类实例的范围,两个属性,value和proxyMode,value就是指明作用域范围,proxyMode指明哪种作用域代理。用于定义配置类,指出该类是bean配置的信息源,相当于传统的xml配置文件。原创 2023-08-08 18:42:27 · 29 阅读 · 0 评论