Spring知识整理
来源:互联网 发布:保险大数据分析框架 编辑:程序博客网 时间:2024/06/06 05:13
前言:在Spring出现之前,由于各架构层之间的依赖很强,属于耦合而且是紧耦合。各层对象的生命周期是由上层控制,下层定义或实现的改动都会影响到上层,在需求变更时代码改变多,维护难度大。并且之前我们都是直接new的,对象生产机制效率较低。因此,出现了Spring来解决相关问题。
1.Spring原理
Spring的核心是通过IOC(控制反转)机制和DI(依赖注入)机制将各层之间的(依赖)关系打散。 控制反转:就是由容器(Spring)控制程序之间的(依赖)关系,而非传统实现中,由程序代码直接操控。 依赖注入:组件之间的依赖关系由容器在运行期决定,由容器动态的将某种依赖关系注入到组件之中。
通过Spring(容器)控制所有对象的生命周期,上层不再控制下层的生命周期,层与层之间实现了完全脱耦,使程序运行起来效率更高,维护起来也方便;
对象的创建方式也由Spring控制,默认是单例,效率比起每次new要高;
2.其他问题
- 在解析XML的时候,是要全部解析完了之后才生成对象。因此,当我们配置了两个对象,他们之间又是调用关系的时候,由于第一个对象还没生成完就调用第二个对象,这时第一个对象的XML解析还没结束,这时候就会报错。这时候就需要使用依赖注入。
- 只用通过Spring创建的对象,Spring才能控制该对象的生命周期进而管理该对象。
- 对象创建的两种方式:当使用的那个类不是Spring创建的时候(servlet调用service),使用getBean创建对象(service);当所有的类对象都是Spring创建时才能使用依赖注入
- 使用Spring时,只有面向接口编程才能实现完全脱耦
3.SH整合
- 由于hibernate管理session事务的时候,会出现很多重复性的代码,将其交给Spring管理可以减少很多代码
- 事务是在session里面的,而session又是sessionfactory生成的,因此需要将sessionfactory交给Spring管理,将配置文件集合在一起
- Spring提供的getHibernateTemplate();
不配置事务时:每次操作对应一个新的session,自动提交,自动关闭;
配置事务时:手动提交,自动关闭
0 0
- Spring知识整理
- Spring知识整理
- Spring知识整理
- 【知识整理】Spring整合SpringMVC
- Spring知识整理【一】Spring 入门介绍
- Spring知识整理【二】Spring 环境搭建
- Spring知识整理【三】Spring IOC/DI
- Spring知识整理【四】Spring AOP
- Annotation 和Spring Annotation 知识整理
- Annotation 和Spring Annotation 知识整理
- Annotation 和Spring Annotation 知识整理
- Spring学习篇:AOP知识整理
- Spring学习篇:AOP知识整理
- 【知识整理】Spring整合Hibernate详解
- Spring学习篇:AOP知识整理
- Spring知识整理(学习资料)
- 重新整理struts2与spring整合相关知识
- Spring AOP 拦截器Advice 的知识整理
- SpringBoot非官方教程 | 第十三篇:springboot集成spring cache
- 3台hadoop集群部署计划---安装系列一
- 算法分析与设计课程(10):【leetcode】Simplify Path
- 教你如何在Oracle官网免登陆下载oracle数据库以及相关工具
- 四月英语总结
- Spring知识整理
- 多线程样例
- JavaScript基础(2)之arguments详解
- rapidxml在qt linux(gcc)下写xml文件出错
- [python笔记]2.1变量
- 机器学习(七)探寻模式——基于关联规则的购物篮分析
- 做游戏,学编程(C语言) 1 实现弹跳小球
- CentOS 安装NodeJS
- hadoop重新编译---安装系列二