spring材料整理

1.SSM(spring+springMVC+mybatis)

SSM简介 - 简书

IT总结 | Spring、SpringMVC、SpringBoot、SpringCloud之间的关系 - 简书



2.spring中bean的加载过程

实例化——初始化——销毁

实例化Instantiation:在JVM中创建了实例,所有的属性为null,会调用createBeanInstance()方法,该阶段主要是从beanDefinitionMap循环读取bean,获取它的属性,然后利用反射(core包下有ReflectionUtil会先强行将构造方法setAccessible(true))读取对象的构造方法

初始化:一个是属性填充,另一个就是具体的初始化过程,方法BeanPostProcessor

BeanFactory:bean 工厂类接口,是负责生产和管理bean的工厂,是IOC容器最底层和基础的接口,spring用它来管理和装配普通bean的IOC容器,它有多种实现,比如AnnotationConfigApplicationContext、XmlWebApplicationContext;

FactoryBean:属于spring的一个bean,在IOC容器的基础上给Bean的实现加上了一个简单工厂模式装饰模式,是一个可以生产对象和装饰对象的工厂bean,由spring管理,生产的对象是由getObject()方法决定的。注意:它是泛型的,只能固定生产某一类对象

循环依赖问题:三层缓存,缓存升级

spring加载bean流程解析 - Yrion - 博客园

【Spring源码分析】Bean加载流程概览 - 五月的仓颉 - 博客园



3.Spring 的启动过程

其启动过程主要包含三个类,ContextLoaderListener,ContextLoader和XmlWebApplicationContex

创建WebApplicationContext。

加载对应的spring配置文件中的Bean。

将WebApplicationContext放入ServletContext(Java Web的全局变量)中。

Spring的启动流程 - 简书

Spring启动过程(面试总结版~)_hjukyjhg56的博客-CSDN博客_spring启动过程


4.controller的线程安全问题

在@Controller/@Service等容器中,默认scope值是单例-singleton的,也是线程不安全的。

@Controller/@Service等容器中尽量不要在定义静态变量,不论是单例(singleton)还是多实例(prototype)他都是线程不安全的。

默认注入的Bean对象,在不设置scope时是线程不安全的。

一定要定义变量的话,用ThreadLocal来封装,这个是线程安全的

怎么理解Spring MVC Controller线程安全性问题_弗兰-随风小欢的博客-CSDN博客_controller线程安全

关于Spring的@Controller @Service等的线程安全问题_u012843361的博客-CSDN博客_controller线程安全问题


5.Transactional

是声明式事务管理编程中使用的注解

MYSQL: 默认为REPEATABLE_READ级别(可重复读(会出现幻读))

1.只能被应用到public方法上

2.在具体的类(或类的方法)上使用 @Transactional 注解,而不要使用在类所要实现的任何接口上,注解不可继承,在接口注解需要开启接口的代理

3.只读接口不要使用,影响性能

4.默认配置下,spring 只有在抛出的异常为运行时 unchecked 异常时才回滚该事务

@Transactional 详解_愿我如星君如月 ... 夜夜流光相皎洁 ...-CSDN博客_@transactional

@Transactional详解_你就像甜甜的益达-CSDN博客_transactional

事务管理机制

TransactionDefinition、PlatformTransactionManager 和 TransactionStatus

编程式事务管理:

声明式事务管理:

Spring 事务管理机制概述_Rico's Blogs-CSDN博客_spring事务管理

@Transactional 详解_愿我如星君如月 ... 夜夜流光相皎洁 ...-CSDN博客_@transactional



5 mybatis批量插入的实现

1.在接口文件中的方法参数中,要用@Param注解,否则容易报异常

2. <foreach collection="list" item="item" index="index" separator=","> </foreach> ,该标签中的 collection 属性值 是接口中参数名称,如接口中的方法的参数名是list,那么collection属性的值就只能取值list,如果mapper接口的方法中参数名叫userList,那这里collection的取值就是userList,其他标签中的其他属性值通常就使用例子中这样的

springboot整合mybatis,批量插入数据_zhucheng325的博客-CSDN博客

大数据量插入主要耗时在session的频繁开启。因此一起开启,集中提交会大幅提升数据插入速度

MySQL数据库批量插入(Spring Boot+Mybatis)_wilson_m的博客-CSDN博客


6.AOP 动态代理

applicationContext中配置实现动态代理

1.一个是被代理对象需要实现JDK提供的动态代理接口;

2.通过CGLIB的jar包实现动态代理,该方法只需要对目标对象继承即可

https://baijiahao.baidu.com/s?id=1598982978229870867&wfr=spider&for=pc

JDK动态代理需要目标对象实现接口,而 CGLIB的动态代理则不需要

spring5——Aop的实现原理(动态代理) - 你是风儿 - 博客园

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,036评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,046评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,411评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,622评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,661评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,521评论 1 304
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,288评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,200评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,644评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,837评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,953评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,673评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,281评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,889评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,011评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,119评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,901评论 2 355

推荐阅读更多精彩内容