Spring学习之基本概念

Spring 基本概念

  Spring优点:
    1.Spring不同于其它的Framework,它要提供的是一种管理你的业务对象的方法。
    2.DI有效的降低了耦合度
    3.AOP提供了通用任务的集中管理
    4.ORM和DAO简化了对数据库访问
    5.高度开放性,并不强制
      Spring不会给你的工程添加对其它的框架依赖,同时Spring又可以称得上是一个一揽子解决方案,提供了一个典型应用所需要的大部分基础框架。

  Spring带来的开发好处:
    1.可以有效组织中间层对象
    2.使用统一的配置文件
    3.促进良好编程习惯,减少编程代价
    4.易于单元测试
    5.使EJB成为一种备选
    6.为数据存取提供了一致的框架

  Spring的特点:
    1.方便解耦,简化开发
      通过IoC容器,可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。
    2.AOP编程的支持
      可以方便进行面向切面的编程
    3.声明式事物的支持。
      可以通过声明式方式灵活地进行事物的管理,提高开发效率和质量。
    4.方便程序的测试
      可以用非容器依赖的编程方式进行几乎所有的测试工作。
    5.方便集成各种优秀框架
      其不排斥各种优秀的开源框架,可以降低各种框架的使用难度,提供了直接支持。
    6.降低JavaEE API的使用难度
      对比如jdbc、JavaMail、远程调用等,提供了一个薄薄的封装层。
    7.Spring的源码是经典学习范例
      = =再等等吧
  Spring框架结构:


    1.Spring Core:核心容器
      这是Spring框架最基础的部分,提供了依赖注入(DI,Dependency Injection)特征来实现容器对Bean的管理。最基本的概念是BeanFactory,它是任何Spring应用的核心。BeanFactory是工厂模式的一个实现,它使用IoC将应用配置和依赖说明从实际的应用代码中分离出来。
    2.应用上下文(Context)模块
      是一个配置文件,BeanFactory使Spring成为容器,而上下文模块使它成为框架。该模块扩展了BeanFactory的概念,增加了对国际化(I18N)消息、事件传播以及验证的支持。
    3.Spring的AOP模块
      其提供了对面向切面编程的丰富支持。
    4.JDBC抽象和DAO模块
      JDBC经常导致大量的重复代码,比如连接、创建、处理、关闭,而Spring的JDBC和DAO模块抽取了这些重复代码,因此用户可以保持数据库访问代码简洁,并且可以防止因关闭数据库资源失败而引起的问题。使用了Spring的AOP模块为Spring应用中的对象提供了事物管理服务。
    5.对象/关系映射集成模块
      Spring提供了ORM模块。Spring并不试图实现它自己的ORM解决方案,而是为几种流行的ORM框架提供了集成方案。Spring的事物管理支持ORM与JDBC。
    6.Spring的Web模块
      其建立于应用上下文模块之上,提供了一个适合于Web应用的上下文。还提供了一些面向服务支持,也提供了Spring和其它Web框架的集成,比如Struts。
    7.Spring的MVC框架
      功能全面,可利用Spring的任何其它服务,其使用IoC对控制逻辑和业务对象提供了完全的分离。

时间: 2024-11-01 10:19:19

Spring学习之基本概念的相关文章

不错的Spring学习笔记(转)

Spring学习笔记(1)----简单的实例 ---------------------------------   首先需要准备Spring包,可从官方网站上下载.   下载解压后,必须的两个包是spring.jar和commons-logging.jar.此外为了便于测试加入了JUnit包.   在Myeclipse中创建Java项目.   编写一个接口类,为了简单,只加入了一个方法.   Java代码   1.package com.szy.spring.interfacebean;  

spring学习(一)

spring的核心是IOC和DI,首先要明白IOC和DI的概念. IOC,即Inverse of Control,反转控制,就是将原本在程序中手动创建service对象的控制权交给spring容器管理,简单的说就是对象的创建权交给了spring容器管理. DI,即Dependency Injection,依赖注入,在web应用中,action调用service层,service调用dao层,也就是action依赖service,service依赖dao,而在spring容器管理对象时,在创建be

Spring学习之第一个AOP程序

IOC和AOP是Spring的两大基石,AOP(面向方面编程),也可称为面向切面编程,是一种编程范式,提供从另一个角度来考虑程序结构从而完善面向对象编程(OOP). 在进行 OOP 开发时,都是基于对组件(比如类)进行开发,然后对组件进行组合,OOP 最大问题就是无法解耦组件进行开发,比如我们上边举例,而 AOP 就是为了克服这个问题而出现的,它来进行这种耦合的分离.AOP 为开发者提供一种进行横切关注点(比如日志关注点)分离并织入的机制,把横切关注点分离,然后通过某种技术织入到系统中,从而无耦

Spring学习初体验

一.首先我们要明确我们为什么要学?在我们学习了javaweb基础后,我们基本可以完成基本的网站要求,但是我们为什么要学习和使用使用Spring? 1.降低组件之间的耦合度,实现软件各层之间的解耦. controller----->service--------->dao 2.可以使用容器几桶的众多服务.如:事务管理服务.消息服务.当我们使用容器管理时,开发人员就不再需要手工控制事务,也不需处理复杂的事务传播. 3.容器提供单例模式支持,开发人员不再需要自己编写实现代码. 4.容器提供了AOP技

spring MVC 第一课 概念

1.起源.背景 Spring是一个开源框架,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架. Spring致力于提供一种方法管理你的业务对象.Spring是全面的和模块化的.Spring有分层的体系结构,这意味着你能选择使用它孤立的任何部分,它的架构仍然是内在稳定的.因例如,你可能选择仅仅使用Spring来简单化JDBC的使用,或用来管理所有的业务对象. 它的设计从底部帮助你编写易于测试的代码.Spring是用于测试驱动工程的理想的framework.

spring学习2

使用注解配置spring 步骤: 1. 导包4(core/bean/context/spel)+1(logging)+spring-aop包(新版spring需要导入这个包) 2. 为主配置文件引入新的命名空间(约束)  Context约束 3. 开启使用注解代理配置文件 <context:component-scan base-package="com.domain"> 指定扫描 com.domain包下面所有类的注解(同时会扫描子包里面的类) 4. 在类中使用注解完成配

Spring学习(四)IOC详解

本文借鉴:Spring学习2(特此感谢!) 一.简介 概念:控制反转是一种通过描述(在 Java 中可以是 XML 或者注解)并通过第三方(Spring)去产生或获取特定对象的方式.(被动创建) 优势: ① 降低对象之间的耦合 ② 我们不需要理解一个类的具体实现,只需要知道它有什么用就好了(直接向 IoC 容器拿) 小结:主动创建的模式中,责任归于开发者,而在被动的模式下,责任归于 IoC 容器,基于这样的被动形式,我们就说对象被控制反转了.(也可以说是反转了控制) 二.IOC容器 Spring

spring学习5:基于注解实现spring的aop

目录 spring学习5:基于注解实现spring的aop 一.基于注解+xml实现 1.1 在配置文件中开启spring对注解aop的支持 1.2 把通知类用注解配置到容器中,并用注解声明为切面 1.3 定义切入点表达式 1.4 定义通知 二.基于纯注解实现 三.多个aop的执行顺序 1.xml配置 2.注解配置 3.注意 spring学习5:基于注解实现spring的aop 上一节学习了spring aop的基本概念和如何基于xml配置来实现aop功能.这一节来学习下如何用注解实现aop 一

深入理解Spring AOP之基本概念

深入理解Spring AOP之基本概念 AOP到底是什么 Spring AOP和IOC是听到的关于Spring最频繁的两个词了.现在来重点关注AOP这个词,IOC先放一边,下面这段话摘自Spring优势中关于面向切面的介绍: 面向切面--Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发.应用对象只实现它们应该做的--完成业务逻辑--仅此而已.它们并不负责(甚至是意识)其它的系统级关