
spring
spring学习以及总结
Jaymeng8848
攀爬每一个巨人,站在他们肩膀上看一看
展开
-
Suppresswarnings 注解
可以达到抑制编译器编译时产生警告的目的,但是很不建议使用@SuppressWarnings注解,使用此注解,编码人员看不到编译时编译器提示的相应的警告,不能选择更好、更新的类、方法或者不能编写更规范的编码。同时后期更新JDK、jar包等源码时,使用@SuppressWarnings注解的代码可能受新的JDK、jar包代码的支持,出现错误,仍然需要修改。抑制警告的关键字 关键字 用途原创 2020-09-04 11:23:56 · 265 阅读 · 0 评论 -
嵌套事务
Spring嵌套事务Spring 事务传播属性如下PROPAGATION_REQUIRED–支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 PROPAGATION_SUPPORTS–支持当前事务,如果当前没有事务,就以非事务方式执行。 PROPAGATION_MANDATORY–支持当前事务,如果当前没有事务,就抛出异常。 PROPAGATION_REQUIRES_NEW–新建事务,如果当前存在事务,把当前事务挂起。 PROPAGATION_NOT_SUPPORTED转载 2020-08-20 17:17:51 · 212 阅读 · 0 评论 -
Spring Bean的生命周期
在这篇文章中我们简单的说一下Bean的生命周期有关的内容。在Spring中,我们可以从两个层面定义Bean的生命周期:第一个层面是Bean的作用范围(Singleton、Prototype以及Web中的Request、Session和global session),第二个层面是实例化Bean时所经历的一系列阶段。我们将会对BeanFactory和ApplicationContext中的生命周期分别进行分析(BeanFactory和ApplicationContex的一个大的区别是:BeanFactory在初转载 2020-08-18 08:09:52 · 317 阅读 · 0 评论 -
getBean 详解(七)
前言接着 Spring IoC:finishBeanFactoryInitialization详解,我们正式开始学习获取 bean 实例方法,该方法是 Spring 最核心的方法。正文单击 preInstantiateSingletons 方法里的 getBean(beanName) 代码,进入该方法。getBean@Overridepublic Object getBean(String name) throws BeansException { // 获取name对应的bean实例,转载 2020-08-17 15:58:36 · 2498 阅读 · 2 评论 -
spring如何解决单例循环依赖问题
1、spring循环引用场景循环依赖的产生可能有很多种情况,例如:A的构造方法中依赖了B的实例对象,同时B的构造方法中依赖了A的实例对象A的构造方法中依赖了B的实例对象,同时B的某个field或者setter需要A的实例对象,以及反之A的某个field或者setter依赖了B的实例对象,同时B的某个field或者setter依赖了A的实例对象,以及反之Spring对于循环依赖的解决不是无条件的,首先前提条件是针对scope单例并且允许解决循环依赖的对象。以上三种情况: 第一种Spring无法解决转载 2020-08-17 14:54:25 · 975 阅读 · 0 评论 -
spring 五个事务隔离级别和七个事务传播行为
Spring在TransactionDefinition接口中定义了五个不同的事务隔离级别ISOLATION_DEFAULT 这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别.另外四个与JDBC的隔离级别相对应ISOLATION_READ_UNCOMMITTED 这是事务最低的隔离级别,它充许别外一个事务可以看到这个事务未提交的数据。这种隔离级别会产生脏读,不可重复读和幻像读ISOLATION_READ_COMMITTED 保证一个事务修改的数据转载 2020-08-13 09:03:05 · 411 阅读 · 1 评论 -
finishBeanFactoryInitialization 详解(六)
前言在介绍了 obtainFreshBeanFactory、invokeBeanFactoryPostProcessors、registerBeanPostProcessors 三个重要方法后,我们终于来到了最后一个重要方法:finishBeanFactoryInitialization。finishBeanFactoryInitialization 是这四个方法中最复杂也是最重要的,是整个 Spring IoC 核心中的核心。概述该方法会实例化所有剩余的非懒加载单例 bean。除了一些内部的 bea转载 2020-08-04 19:23:14 · 3842 阅读 · 0 评论 -
registerBeanPostProcessors 详解(五)
前言在 Spring IoC:invokeBeanFactoryPostProcessors解析 中我们介绍了 invokeBeanFactoryPostProcessors 方法,而本文将介绍另一个类似的方法——registerBeanPostProcessors。invokeBeanFactoryPostProcessors 方法主要用于处理 BeanFactoryPostProcessor 接口,而 registerBeanPostProcessors 方法主要用于处理 BeanPostProce转载 2020-08-04 19:11:37 · 1945 阅读 · 0 评论 -
invokeBeanFactoryPostProcessors 详解(四)
概述本方法会实例化和调用所有 BeanFactoryPostProcessor(包括其子类 BeanDefinitionRegistryPostProcessor)。BeanFactoryPostProcessor 接口是 Spring 初始化 BeanFactory 时对外暴露的扩展点,Spring IoC 容器允许 BeanFactoryPostProcessor 在容器实例化任何 bean 之前读取 bean 的定义,并可以修改它。BeanDefinitionRegistryPostProces转载 2020-08-04 19:03:59 · 5084 阅读 · 3 评论 -
parseDefaultElement 详解(三)
前言接着 Spring IoC:obtainFreshBeanFactory详解 继续往下解析,本文来到 parseDefaultElement 方法。该方法是解析默认命名空间节点的方法,是加载 bean 定义模块的最核心方法。正文首先让我们回到 Spring IoC:obtainFreshBeanFactory详解 文末的 parseBeanDefinitions 方法。protected void parseBeanDefinitions(Element root, BeanDefinition转载 2020-08-04 18:30:28 · 998 阅读 · 0 评论 -
obtainFreshBeanFactory 详解(二)
前言上文 Spring IoC:ApplicationContext 刷新前的配置 介绍了 refresh 方法前的环境准备操作,接下来正式进入 refresh 方法。prepareRefresh 是refresh 里的第一个方法,主要是一些准备工作,比较简单的方法,看一下就了解了。接下来是 obtainFreshBeanFactory 方法,该方法用于获得一个新的 BeanFactory,本文将详细介绍该方法。提醒读者的一点,本节了解即可,主要对于配置,BeanFactory有个印象即可,本章对于sp转载 2020-08-04 09:40:01 · 1098 阅读 · 1 评论 -
ApplicationContext 刷新前的配置(一)
正文web.xml 配置<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee转载 2020-08-03 22:18:03 · 664 阅读 · 0 评论 -
Spring IoC源码学习:总览
IoC 构建过程:Spring 初始化的入口在 ContextLoaderListener,如果你的项目用了 Spring,通常可以在 web.xml 中找到下面这行代码。<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>ContextLoaderListener 是实现了 ja转载 2020-08-03 14:26:29 · 330 阅读 · 0 评论 -
spring springboot springcloud常用注解
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-211130ba7a.css"> <div class="htmledit_views" id="content_views"> <p><...转载 2020-07-17 12:00:49 · 198 阅读 · 0 评论 -
spring基础
spring学习总结(有转载)Spring概念及特点IOCAOPIOC容器的生命周期基于注解配置BeanSPELSpring概念及特点IOCAOPIOC容器的生命周期基于注解配置BeanSPEL...原创 2020-04-05 21:01:52 · 283 阅读 · 0 评论