
spring
zhangzhen02
这个作者很懒,什么都没留下…
展开
-
springboot自定义静态目录文件,自动跳转目录,及thymeleaf修改模板地址导致的bug的始末
一,本次项目需要自定义一个静态目录文件,而不是在classpath下面代码如下@Configurationpublic class MyWebMvcConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/static/**").addRe原创 2020-10-16 16:50:49 · 536 阅读 · 0 评论 -
springcloud gateway自定义断言规则,以后缀结尾进行路由
因工作需要,需要使用springcloud gateway ,以.html结尾的进行路由进行websocket转发。gateway自带的8种路由规则都不能满足,故需要自定义断言规则。一,新建一个路由断言工厂ExtCheckRoutePredicateFactory@Componentpublic class ExtCheckRoutePredicateFactory extends AbstractRoutePredicateFactory<ExtCheckRoutePredicateFacto原创 2020-10-14 20:38:46 · 2124 阅读 · 0 评论 -
spring bean的生命周期有哪些?有什么可扩展的?
spring bean 的生命周期在scope为单例模式下,spring bean的生命周期如下图1.首先实例化bean对象。如果是beanFactory容器,当客户请求一个尚未实例化的bean时,或需要依赖注入一个汕尾实例化的bean时,容器会通过调用createBean进行该bean的实例化。对于ApplicationContext容器,在容器启动结束后,就会实例化所有bean。容器通过调用beanDefinition获取bean信息进行实例化,此步骤仅仅是简单的实例化,并未进行依赖注入。原创 2020-05-25 16:43:35 · 521 阅读 · 0 评论 -
spring中bean循环依赖有哪些?spring都是怎么解决的?
循环依赖A依赖B,B又依赖A,导致循环嵌套。Spring中一共又三种循环依赖的现象。1.构造器中的循环依赖。直接报错2.单例scope下setter方法的循环依赖。使用三级缓存解决3.非单例scope的循环依赖。不解决,由用户处理。spring具体是如何处理的?1.构造器中的循环依赖。spring中存在一个正在创建对象的池子,创建对象时添加到该池子,this .singletonsCurrentlylnCreation.add(beanName)。创建完成从池子删除。试图创建某对象时,这样当原创 2020-05-14 20:31:26 · 329 阅读 · 0 评论 -
什么是AOP?有什么好处?怎么实现的?
什么是AOP?AOP(Aspect-Oriented-Programing)面向切面编程,是一种编程理念。该理念能够是那些为多个业务所共有,却与业务逻辑没有关系的模块抽取出来,形成一个切面。这样可以减少重复代码,并使业务逻辑保持简单,是代码易于维护和扩展。Spring中是怎么实现AOP的?Spring是通过动态代理和CGLib(Code Generation Library)字节码生成技术,来实现AOP的,默认在对象存在接口时,使用动态代理,否则使用CGLib。先看下静态代理public cla原创 2020-05-14 17:38:01 · 753 阅读 · 0 评论 -
到底什么是IoC?有什么好处?怎么实现的?
首先说下依赖倒置依赖倒置是种设计原则,把原本的高层建筑依赖底层建筑“倒置”过来,变成底层建筑依赖高层建筑。比如你要堆个积木,比如一个城堡,看看手里有一些完成的模块,来对城堡,就是城堡在依赖模块。即高层依赖底层。一旦子模块改变,你就要重新设计城堡了。如果这种层次较多,那修改起来肯定是个噩梦。而依赖倒置原则,即是根据城堡的设计图,设计子模块,子模块必须根据城堡设计图的要求设计,这样就是底层建筑依赖高层建筑了,也即是依赖倒置了。IoC 依赖反转,是依赖倒置原则下的一种设计思路,具体的实现方法就是依赖注入原创 2020-05-14 15:33:47 · 767 阅读 · 0 评论