Spring
Spring
风铃峰顶
个人项目经历请搜索:
http://www.haoranhaoshi.top/
展开
-
Spring @Conditional使用
@Condition原创 2022-10-10 11:46:15 · 445 阅读 · 0 评论 -
Spring全局异常
Spring全局异常转载 2022-07-27 21:46:14 · 73 阅读 · 0 评论 -
Spring 拦截器的应用
package interceptor;import context.UserContext;import context.UserInfo;import org.slf4j.MDC;import org.springframework.web.method.HandlerMethod;import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;import javax.servlet.http.HttpS原创 2022-04-14 15:11:54 · 100 阅读 · 0 评论 -
Spring中,三级缓存解决循环依赖
发现Spring三级缓存没有写到博客里,这里从自己的笔记迁移一下,补上:创建的都是单例,如果是构造方法注入,不能解决;如果是设值方法注入,用三级缓存解决:DefaultSingletonBeanRegistry:singletonObjectsearlySingletonObjectssingletonFactories代码流程:bean在createBeanInstance后,populateBean前:DefaultSingletonBeanRegistry:addSingl原创 2021-10-20 16:17:15 · 130 阅读 · 0 评论 -
ACM、Diamond、Nacos、Apollo、Spring Cloud Config
HSF默认使用Diamond。spring/springboot的整合分布式配置中心(ACM diamond nacos Apollo):https://mp.weixin.qq.com/s?__biz=MzI3MTA1ODkzNg%3D%3D&chksm=eac6da14ddb1530293455f51f7b8391fc303b815d89994d1871481b5b9d3a6233ad7d2a3ade4&idx=1&mid=2247485571&scene=21&am转载 2021-10-14 11:52:22 · 1064 阅读 · 0 评论 -
HttpMessageConverter接口操作请求和响应;解决响应中的转义
实现Spring中的HttpMessageConverter接口,可以操作请求和响应。比如FastJSON中的FastJsonHttpMessageConverter。https://blog.csdn.net/weixin_43453386/article/details/83615829比如解决响应结果的转义。https://blog.csdn.net/sweet6hero/article/details/81742972...转载 2021-10-12 15:52:33 · 290 阅读 · 0 评论 -
Spring事务
@Transactional可以加在类或者方法上。加在类上,调用方法,用的是Bean的代理。加在方法上,调用方法,用的是Bean的代理。用代理是为了将声明式事务,转为编程式事务,可以看事务传播的源码:https://blog.csdn.net/haoranhaoshi/article/details/112674395如果类没有@Transactional,方法没有@Transactional,调用方法时,用的是原始的Bean,没有事务参与,里面调用本类方法,即使有@Transactional,Bea原创 2021-05-14 09:14:25 · 90 阅读 · 0 评论 -
Spring中的过滤器、拦截器
过滤器可以用于日志、跨域、授权。过滤器是Servlet容器中的,Map<String类型的URL,FilterChian>:LRU算法,缓存长度超过最大值时,清理最早使用的键值对。日志、跨域:https://www.cnblogs.com/Java-Starter/p/10444617.html过滤器源码,过滤器在Spring Security中的应用:https://blog.csdn.net/u013825231/article/details/81144569过滤器结合Spri.原创 2021-05-09 17:04:03 · 793 阅读 · 0 评论 -
为什么@Autowired不能注入static成员属性
为什么@Autowired不能注入static成员属性静态变量是属于类本身的信息,当类加载器加载静态变量时,Spring的上下文环境还没有被加载,所以不可能为静态变量绑定值(这只是最表象原因,并不准确)。同时,Spring也不鼓励为静态变量注入值(言外之意:并不是不能注入),因为它认为这会增加了耦合度,对测试不友好。这些都是表象,那么实际上Spring是如何“操作”的呢?我们沿着AutowiredAnnotationBeanPostProcessor输出的这句info日志,倒着找原因,这句日志的输出转载 2021-01-17 20:35:08 · 1985 阅读 · 0 评论 -
Spring事务传播
package org.springframework.transaction;import org.springframework.lang.Nullable;public interface TransactionDefinition { // 事务传播等级 int PROPAGATION_REQUIRED = 0; // 支持当前事务,没有就创建 int PROPAGATION_SUPPORTS = 1; // 支持当前事务,没有就非事务方式执行 int PRO转载 2021-01-15 16:35:27 · 101 阅读 · 0 评论 -
@Nonnull、@Nullable、空对象模式
package org.springframework.lang;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;import javax.annota.转载 2020-09-03 13:43:37 · 1161 阅读 · 0 评论 -
JCP、JSR、JSR 250
JSR是Java Specification Requests的缩写,意思是Java 规范提案。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。JSR 250是Java规范请求以发展为目标注解(即,关于不属于程序本身的软件程序的信息)JavaSE和JavaEE适用于各种不同技术的平台。据设想,各种JSR将使用注释来启用陈述式编程风格。在JavaEE组件JS转载 2020-09-02 09:57:59 · 190 阅读 · 0 评论 -
Spring AOP
AdvisedSupport解析AopConfig,使pointCutClass映射自己的advices,获取pointCutClass实例时,返回代理类的实例。AOP借助:JdkDynamicAopProxy、CglibAopProxy前置通知(Before Advice):pointCutMethod调用前执行Advice的Method后置通知(After Advice):pointCutMethod调用后执行Advice的Method返回后通知(After Return Advice):poi原创 2020-08-30 14:43:41 · 99 阅读 · 0 评论 -
Spring 策略、思想、核心模块、常用注解、版本号
Spring简化开发的策略:POJO轻量级,最小侵入性编程。(代理模式:JDK方式要求被代理类实现一个接口,Cglib没有要求)(原型模式:JDK方式要求类实现Cloneable接口,Jackson没有要求)依赖注入、面向接口松耦合。基于切面和惯性进行声明式开发通过切面和模板减少样板式代码————————————————Spring用到的思想:OOP:面向对象编程BOP:面向Bean编程AOP(基于代理模式):面向切面编程IOC:控制反转DI/DL:依赖注入、依赖查找————————原创 2020-08-30 14:40:48 · 165 阅读 · 0 评论 -
Error、Exception、Checked Exception、Unchecked Exception、Spring事务回滚
Error、Exception是Throwable的两个子类。RuntimeException是Exception的子类。Exception可分为Checked Exception(受检异常,编译时必须catch或throw)和Unchecked Exception(非受检异常,编译时无需catch或throw)。RuntimeException及其子类是Unchecked Exception,其他Exception是Checked Exception。Error是JVM中发生的严重错误。Err.原创 2020-08-28 07:38:02 · 351 阅读 · 0 评论