diff --git a/week_06/17/Spring b/week_06/17/Spring new file mode 100644 index 0000000000000000000000000000000000000000..0d1d095dd96e260843f78dfa66c36b3bd736e905 --- /dev/null +++ b/week_06/17/Spring @@ -0,0 +1,58 @@ +##Spring--模块介绍----简单介绍,相关详细还需要看书和资料继续了解。 + + 1.Spring主要分为Core Container(核心容器),Data Access/Integration(数据访问/集成),Web,AOP,Aspects,Messaging,Test + + 1.核心容器: + 介绍:该容器管理着Spring应用中bean的创建、配置和管理,里面含有Spring bean工厂,以及依赖注入(DI) + Beans:负责Bean工厂中Bean的装配,所谓Bean工厂即是创建对象的工厂,Bean的装配也就是对象的创建工作. + 工作原理: + Bean组件在Spring的org.springframework.beans包下。这个包下的所有类主要解决3件事情:Bean的定义、Bean的创建及对Bean的解析。我们只需要关心它的创建就好了,其他两个由Spring在内部帮我们完成,我们是看不见的。 + Spring Bean的创建是典型的工厂模式,它的顶级接口是BeanFactory。 + Bean的定义主要由BeanDefinition描述。它的定义完整地描述了在Spring的配置文件中我们定义的< bean/>节点中所有的信息,包括各种子节点。当Spring成功解析我们定义的一个< bean/>节点后,在Spring的内部它就被转化成BeanDefinition对象,以后所有的操作都是对这个对象进行的。 + Bean的解析主要就是对Spring配置文件的解析 + Core:这个模块即是负责IOC(控制反转)最基本的实现. + 工作原理: + Core组件包含了很多关键类,一个重要的组成部分就是定义了资源的访问方式。 + Resource接口封装了各种可能的资源类型,也就是对使用者来说屏蔽了文件类型的不同。 + Resource接口继承了InputStreamSource接口,这样所有的资源都可以通过InputStream类来获取,所以也屏蔽了资源的提供者。 + 加载资源的任务是由ResourceLoader接口完成的,它屏蔽了所有的资源加载者的差异。 + Context把资源的加载、解析和描述工作委托给了ResourcePatternResolver类来完成,它相当于一个接头人,把资源的加载、解析和资源的定义整合在一起便于其他组件使用。 + Context:Spring的IOC容器,因大量调用Spring Core中的函数,整合了Spring的大部分功能。Bean创建好对象后,由Context负责建立Bean与Bean之间的关系并维护。所以也可以把Context看成是Bean关系的集合. + 工作原理: + Context组件在Spring的org.springframework.context包下。 + ApplicationContext是Context的顶级父类。 + ApplicationContext继承了BeanFactory,这也说明Spring容器中国运行的主体对象是Bean。 + ApplicationContext继承了ResourseLoader接口,使其可以访问到任何外部资源。 + ApplicationContext必须要完成的几件事情: + 标识一个应用环境 + 利用BeanFactory创建Bean对象 + 保存对象关系表 + 能够捕获各种事件 + Context作为Spring的IOC容器,基本上整合了Spring的大部分功能。 + SpEl:Spring Expression Language(Spring表达式语言) + 2.Data Access/Integration(数据访问/集成) + JDBC:这里面是一些对数据库连接的简单封装。 + ORM:Spring会集成一些ORM框架,类似mybatis,Hibernate. + OXM:Object XML Mapper,它的作用是在Java对象和XML文档之间来回转换.--------应该类似与一个工具。 + JMS:java Message Send----消息发送。 + Transations:事务管理。 + 3.web:该模块提供了SpringMVC框架给Web应用,还提供了多种构建和其它应用交互的远程调用方案。SpringMVC框架在Web层提升了应用的松耦合水平. + WebSocket:提供Socket通信,web端的的推送功能. + Servlet:Spring MVC框架的实现. + Web:包含web应用开发用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类,Struts集成类、文件上传的支持类、Filter类和大量辅助工具类. + Portlet:实现web模块功能的聚合(如网站首页(Port)下面可能会有不同的子窗口(Portlet). + 4.AOP(面向切面)---重点思想 + Spring对面向切面编程提供了丰富的支持。这个模块是Spring应用系统中开发切面的基础,与DI一样,AOP可以帮助应用对象解耦。 + Spring AOP直接将面向方面的编程功能集成到了Spring框架中,所以很容易的使Spring框架管理的任何对象支持AOP(Spring集成了所有AOP功能。通过事务管理可以使任意Spring管理的对象AOP化); + Spring AOP为基于Spring的应用程序中的对象提供了事务管理服务; + 通过使用Spring AOP,不用依赖EJB组件,就可以将声明性事务管集成到应用程序中。 + 5.Aspects + 是面向切面的一个重要的组成部分,提供对AspectJ框架的整合。 + 6.Instrumentation(设备) + 相当于一个检测器,提供对JVM以及对Tomcat的检测 + 7.Messaging + 消息处理 + 8.Test(测试) + 我们在做单元测试时,Spring会帮我们初始化一些测试过程当中需要用到的资源对象 + + \ No newline at end of file