![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
文章平均质量分 82
Robinsyn_L
这个作者很懒,什么都没留下…
展开
-
谈谈项目中的策略模式
前端为我们提供一个策略选择,比如“分配”,那么在传过来的body中便会带上“assign”这个,根据此我们可以在后端中找到对应的实现,关于字符串到具体实现类的映射我们可以用一个map保存。在上面我分享的文章当中,作者提到一种方案采用static静态代码块,个人认为这种方案的缺陷,如果我新增了一个策略实现,那么我还得在静态代码块中添加相应映射,同时作者还提供了交由spring创建的方式。在策略模式中,我们为这些方法提供了统一的入口,根绝前端传过来的策略枚举,我们能够去找到对应的策略实现。原创 2023-08-10 10:50:01 · 151 阅读 · 0 评论 -
springboot的自动装配
通过引入依赖(Starter),从spring.factories文件中获取到对应的需要进行自动装配的类,并生成相应的Bean对象,然后将它们交给spring容器来帮我们进行管理,这就是springboot的自动装配。指定的生效条(Starters提供的依赖、配置或Spring容器中是否存在某个Bean等)时,实例化该AutoConfiguration类中定义的Bean,并注入Spring容器,就可以完成依赖框架的自动配置。注解的入口程序类所在的basepackage下的所有带有。原创 2023-03-21 00:12:47 · 386 阅读 · 0 评论 -
springboot对参数进行校验
如何按照自定的规则进行校验?自定义注解@Target({TelephoneNumberValidator . class }) // 指定校验器 public @interface TelephoneNumber {Class原创 2023-02-13 17:02:05 · 844 阅读 · 0 评论 -
Spring MVC的异常处理
使用实现HandlerExceptionResolver接口的异常处理器进行异常处理,具有集成简单、有良好的扩展性、对已有代码没有入侵性等优点,同时,在异常处理时能获取导致出现异常的对象,有利于提供更详细的异常处理信息。使用SimpleMappingExceptionResolver进行异常处理,具有集成简单、有良好的扩展性、对已有代码没有入侵性等优点,该方法仅能获取到异常信息,若在出现异常时,对需要获取除异常以外的数据的情况不适用。这里标注的方法优先级最低,只有当其它方法都不适用时,才会来到这里处理。原创 2023-02-12 17:52:48 · 381 阅读 · 0 评论 -
springboot中的拦截器
拦截器可以在进入请求方法前做一些操作,也可以在请求方法后和渲染视图后做一些事情。拦截器的实现只需要实现 HandlerInterceptor 接口,并进行配置即可。preHandler:进入请求方法之前执行;:请求方法执行完成之后执行;:视图渲染后执行。如果不设定拦截器顺序,preHandle 方法执行顺序与拦截器注册时顺序一致,postHandle 和 afterCompletion 方法执行顺序相反;原创 2023-02-12 12:43:39 · 3924 阅读 · 0 评论 -
谈谈静态代理和动态代理
}原创 2023-02-11 23:21:12 · 159 阅读 · 2 评论 -
Spring面试题之AOP增强顺序
数值越低,表明优先级越高,@Order 默认为最低优先级,即最大数值。不同aspect,advice的执行顺序:先入后出,后入先出。直接上结果,图片转自。原创 2022-10-13 16:11:39 · 363 阅读 · 0 评论 -
Spring中的循环依赖
当实例化完成之后,要开始进行初始化赋值操作了,但是赋值的时候,值的类型有可能是引用类型,需要从spring容器中获取具体的某个对象来完成赋值操作,而此时,需要引用的对象可能被创建了,也可能没被创建,如果被创建了,那么直接获取即可,如果没有创建,在整个过程中就会涉及到对象的创建过程,而内部对象的创建过程中又会有其他的依赖,其他的依赖中有可能包含当前的对象,而此时当前对象还没有创建完成,所以此时产生了循环依赖问题。原创 2022-10-06 18:58:45 · 243 阅读 · 0 评论 -
Spring面试题之Spring创建对象的五种方式
实现InstantiationAwareBeanPostProcessor接口,其中InstantiationAwareBeanPostProcessor是一个BeanPostProcessor,它可用于处理bean实例创建前后的回调;System . out . println("beanName:" + beanName + "执行postProcessBeforeInstantiation方法");原创 2022-10-03 13:55:07 · 326 阅读 · 0 评论 -
FactoryBean与BeanFactory的区别
FactoryBean为容器中的Bean的实现提供了更加灵活的方式,FactoryBean在IOC容器的基础上,给Bean的实现加上了一个简单工厂模式和装饰模式,它是一个能生产或者修饰对象生成的工厂Bean。可以看见,从容器的getBean()方法中获取到的Bean对象,实际上是FactoryBean的getObject()方法创建并返回的Bean对象,而不是FactoryBean本身。getObject(’ name ‘)返回工厂中的实例,而getObject(’ &name ')返回工厂本身的实例。原创 2022-09-30 15:20:23 · 320 阅读 · 0 评论 -
Spring IoC源码阅读
最近在看Spring源码,本来想全部看了后写文档总结,但怕后面懒不想写,就准备先写一篇。Spring是很多模块的集合,是一款开源的轻量级 Java 开发框架,旨在简化企业开发以及提高系统的可维护性。Spring 最重要的概念是IoC 和 AoP,关于定义不再多做介绍,本文主要是介绍IoC源码部分。IoC中总体来说分为两部分,一个是创建 Bean 容器,一个是初始化 Bean。全文的流程关系主要如下图所示,该图来自于马士兵教育Spring公开课。原创 2022-09-25 20:44:15 · 255 阅读 · 0 评论