关于Spring的零碎了解(一)
来源:互联网 发布:postgresql mysql 编辑:程序博客网 时间:2024/05/22 01:42
由于最近在看一些关于Spring框架的书,有些小概念还是觉得记下来比较方便。。
- Spring框架最核心的其实就是IOC容器了,虽然AOP也是核心,但其实AOP的实现也在一定程度上依赖了IOC,关于IOC容器的理解,其实就是你在写应用时,必然会在所写类的方法里调用到其他对象的一些方法来实现自己的功能,那调用那些对象的方法时,必然是需要先生成那些方法所在类的一个对象,而IOC完成的就是帮助你去生成这个对象,而不是你自己在代码中new出来,这样其实大大降低了代码之间的耦合度。
- 其实在Spring对于IOC的具体实现表现在它的一个接口BeanFactory,这就是具体化的IOC容器,这个接口提供了一个IOC的基本功能,而另外一个则是ApplicationContext,这是在BeanFactory的基础之上又实现了一系列的接口,是IOC容器的高级形态。
- DefaultListableBeanFactory是Spring中默认的功能完整的IOC容器。XmlBeanFactory就是继承自它并在之上添加了新功能,使用xml文件来定义BeanDefination。
- 对于Spring MVC模块部分,Spring 本身并不提供ORM的独立解决方案,虽然Spring自身提供了JDBCTemplate,对于数据库操作提供了简单的封装,和hibernate相比还是太弱了,所以Spring提供了hibernateTemplate来实现hibernate的封装,另外还支持Ibatis。
- 在web容器的配置文件中,添加dispatcherServlet以及对应的url mapping 信息,还需要配置contextConfigLocation来确定IOC容器配置文件的地址,还有一个则是contextLoaderListener监听器,这是作为Spring MVC的一个启动类。
- 关于Spring MVC的启动流程:
- Web容器启动初始化
- 由于contextLoaderListenerde 的监听,根据IOC配置文件创建根IOC容器xmlWebApplicationContext,然后初始化。
- 调用refresh()方法,这标志着IOC容器正式启动
- 根据IOC配置文件地址定位(根据地址查找到对应的IOC容器配置文件),载入(解析配置文件并转换成IOC支持的数据结构形式BeanDefination),注册(将所有的BeanDefination以键值对的形式保存到一个HashMap中,IOC容器就是通过这个Map来管理所有的Bean的)
- IOC的初始化完成之后,则被作为web容器的根IOC容器被绑定到servletContext上,以便调用
- DispatcherServlet会建立自己的IOC容器
- 在向IOC容器getBean时,IOC容器会首先向其双亲IOC去getBean。
- dispatcherServlet调用doService()->doDispatch()->根据handlerMapping查找到对应的Controller来进行处理
- Spring中提供了JdbcTemplate类来完成基本的数据库操作,基本方法execute,query,update
0 0
- 关于Spring的零碎了解(一)
- spring框架的一些了解(一)
- Spring(一):了解Spring
- 零碎的Objective-C知识 (一)
- 零碎笔记(一)
- 关于并发的零碎知识
- 关于JavaScript的零碎知识点
- 关于css的零碎知识点
- python 关于生成器的零碎
- 零碎的学习笔记一
- 关于spring的IOC你了解多少?
- 关于ActionBar所需的了解(一)
- 关于手机传感器,你需要了解的一些(一)
- C++零碎知识点(一)
- Java常见面试题(一)一些零碎的知识点
- ios开发一些零碎的知识点(一)
- Java并发必须知道的零碎知识(一)
- 黑马程序员 关于线程的了解一
- hdu 2554 N对数的排列问题
- Oracle级联查询(Hierarchical Queries)
- ZOJ 3311
- 把《编程珠玑》读薄
- 【基本概述】C程序在Linux中各段分布
- 关于Spring的零碎了解(一)
- [Other]来做一个微信打印机吧 -- 微信打印的设计思路参考
- Android NDK 开发+cygwin 的安装 +eclipse cygwin配置
- 非线性最小二乘数据拟合
- 下载spring-security的各种版本
- google免费DNS服务器好用不?
- 一个activity控制另一个activityUI更新(利用broadcast广播机制)
- 黑马程序员-Java基础知识7(部分笔记总结-字符串的方法)
- MyEclipse 反编译插件安装