《Spring技术内幕》笔记-Spring的设计理念和整体架构

1,Spring的主要子项目:

-1,Spring Framework(Core):Spring项目的核心。提供IoC,AOP,MVC等核心功能。

-2,Spring Web Flow:工作流引擎。

-3,Spring BlazeDs Integration:Spring提供的与Flex通讯模块。

-4,Spring Security:Spring认证和安全框架。

-5,Spring Security OAuth:OAuth在Spring的实现上提供支持。

-6,Spring Dynamic Modules:Spring对OSGi平台的支持。

-7,Spring Batch:提供构建批处理应用和自动化操作的框架。

-8,Spring AMQP:Spring更好的使用基于AMQP(高级消息队列协议)的消息服务而开发。

-9,Spring .NET:.NET环境中的Spring。

-10,Spring Android:在Andriod环境中基于Java REST客户端。

-11,Spring Data:为Spring使用非关系型数据库提供帮助,比如使用分布式,k-v数据库等。

2,Spring的基本组成模块

?-1,Spring IoC:最为基本的IoC容器BeanFactory的接口与实现。比如:XmlBeanFactory,FileSystemXmlApplicationContext等。

?-2,Spring AOP:Spring AOP的核心模块。

?-3,Spring MVC:Spring MVC模块。

?-4,Spring JDBC/Spring ORM:SpringJDBC操作封装。

?-5,Spring事务处理:Spring AOP实现的增强的事务处理模块。

?-6,Spring远端调用:Spring远端调用模块。

3,Spring的优势:

?-1,Spring是一个非侵入式的框架,其目标是师程序对框架的依赖性最小,代码可以在其他没有Spring的平台上使用。

?-2,Spring提供了一个一致的编程风格,直接使用POJO开发。

?-3,Spring使我们的编程风格向面向接口风格转变。

?-4,Spring改进了平台风格,可以使我们很好的和其他平台集成,比如Struts,Hibernate,MyBatis。

?

时间: 2025-01-20 22:41:43

《Spring技术内幕》笔记-Spring的设计理念和整体架构的相关文章

spring技术内幕笔记1

spring的设计目标(为什么要用spring) 如果我们要简要地描述Spring的设计目标,可以这么说,Spring为开发者提供的是一个一站式的轻量级应用开发框架(平台).作为平台,Spring抽象了我们在许多应用开发中遇到的共性问题:同时,作为一个轻量级的应用开发框架,Spring和传统的J2EE开发相比,有其自身的特点.通过这些自身的特点, Spring充分体现了它的设计理念:在Java EE的应用开发中,支持POJO和使用JavaBean的开发方式,使应用面向接口开发,充分支持OO(面向

深入探索spring技术内幕(一): spring概述

一.Spring是什么? Spring是一个开源的控制反转 ( IoC ) 和面向切面 ( AOP ) 的容器框架, 它的主要目的是简化企业开发. 二.控制反转(IoC) 控制反转: 所谓的控制反转就是应用本身不负责依赖对象的创建及维护, 依赖对象的创建及维护是由外部容器负责的. 这样控制权就由应用转移到了外部容器, 控制权的转移就是所谓的反转. public class PersonServiceBean { // 自己new一个对象 private PersonDao personDao =

深入探索spring技术内幕(八): Spring +JDBC组合开发和事务控制

一. 配置数据源 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="org.gjt.mm.mysql.Driver"/> <property name="

SPRING技术内幕,Spring源码深度解析

 SPRING技术内幕,Spring源码深度解析 SPRING技术内幕:深入解析SPRING架构与设计原理(第2版)[带书签].pdf: http://www.t00y.com/file/78131650 Spring源码深度解析 [郝佳编著] sample.pdf: http://www.t00y.com/file/78131634 [jingshuishenliu.400gb.com]Spring Data.pdf: http://www.t00y.com/file/78256084 [

Spring技术内幕:Spring AOP的实现原理(二)

**二.AOP的设计与实现 1.JVM的动态代理特性** 在Spring AOP实现中, 使用的核心技术时动态代理,而这种动态代理实际上是JDK的一个特性.通过JDK的动态代理特性,可以为任意Java对象创建代理对象,对于具体使用来说,这个特性使通过Java Reflection API来完成的.在此之前先简要复习一下Proxy模式,其静态类图如下: 我们可以看到有一个RealSubject,这个对象是目标对象,而在代理模式的设计中,会设计一个接口和目标对象一致的代理对象Proxy,它们都实现了

Spring技术内幕:Spring AOP的实现原理(五)

7.Advice通知的实现 AopProxy代理对象生成时,其拦截器也一并生成.下面我们来分析下Aop是如何对目标对象进行增强的.在为AopProxy配置拦截器的实现中,有一个取得拦截器配置过程,这个过程由DefaultAvisorChainFactory实现的,而这个工厂类负责生成拦截器链,在它的getInterceptorsAndDynamicInterceptionA- dvice方法中,有一个适配器的注册过程,通过配置Spring预先设计好的拦截器,Spring加入了它对Aop实现的处理

Spring技术内幕:Spring AOP的实现原理(三)

生成SingleTon代理对象在getSingleTonInstance方法中完成,这个方法时ProxyFactoryBean生成AopProxy对象的入口.代理对象会封装对target目标对象的调用,也就是说针对target对象的方法调用行为会被这里生成的代理对象所拦截.具体的生成过程是首先读取ProxyFactoryBean配置,为生成代理对象做好准备.Spring通过AopProxy类来具体生成代理对象.对于getSingleTonInstance方法中生成代理对象的过程如下: /** *

Spring技术内幕:Spring AOP的实现原理(一)

一.SpringAOP的概述 1.AOP概念 AOP是Aspect-Oriented Programming(面向切面编程)的简称.维基百科的解释如下: Aspect是一种新的模块化机制,用来描述分散在对象.类或函数中的横切关注点(crosscutting concern).从关注点中分离出横切关注点是面向切面的程序设计的核心.分离关注点使解决特定领域问题的代码从业务逻辑代码中独立出来,业务逻辑的代码中不再含有针对特定领用问题代码的调用,业务逻辑同特定领域问题的关系通过切面来封装.维护,这样原本

Spring技术内幕:Spring AOP的实现原理(四)

4.目标方法的调用 如果没有拦截器会对目标对象方法直接调用.对于JDKDynamicAopProxy代理对象是通过AopUtils使用反射机制实现的.在这个调用方法中首先得到调用方法的反射对象,然后使用invoke启动对方法反射对象的调用.源码如下: /** * Invoke the given target via reflection, as part of an AOP method invocation. * @param target the target object * @para

Spring技术内幕:设计理念和整体架构概述

程序员都很崇拜技术大神,很大一部分是因为他们发现和解决问题的能力,特别是线上出现紧急问题时,总是能够快速定位和解决. 一方面,他们有深厚的技术基础,对应用的技术知其所以然,另一方面,在采坑的过程中不断总结,积累了很多经验. 相信大家都使用过Spring,有些人了解它的核心:IOC和AOP,但只是了解它们的基本概念.使用了反射和动态代理,关于如何管理对象.代理的具体实现了解的比较浅. 有些人使用Spring MVC,使用Spring集成数据库.事务.消息队列以简化操作,但对集成的具体设计思路和实现