`

Spring简介01

 
阅读更多

    Spring是一个轻量级控制反转(IOC)和面向切面(AOP)的容器框架。兴起于2003年,它主要是为了解决企业应用开发的复杂性而诞生的,框架的主要优势之一就是其分层结构,分层结构允许使用者使用哪一个组件。同时也为J2EE开发提供了集成的框架。

简单来说:Spring是一个分层的一站式的轻量级的开源框架。

  • 目的:解决企业应用开发的复杂性
  • 功能:使用基本的JavaBean代替EJB
  • 范围:任何Java应用

JavaBean介绍:

JavaBean是一种JAVA语言写成的可重用组件。他通常具有如下特点:

1.     所有的属性为private

2.     提供默认的构造方法

3.     提供getter和setter方法

4.     实现serializable接口

 

Spring的核心模块:

  • 核心容器(SpringCore):提供了Spring框架的基本功能,核心容器的主要组件是BeanFactory,他是工厂模式的实现。Bean Factory使用控制反转的模式将应用程序的配置和依赖性规范与实际的应用程序代码相分开。
  • 应用上下文(SpringContext):是一个配置文件,向Spring模块提供上下文信息。Spring上下文包含了一些企业服务,例如:JNDI、EJB、电子邮件、国际化、校验、调度等功能。
  • AOP模块(Spring AOP) :通过配置管理特性,Spring AOP模块直接将面向切面的编程功能集成到了Spring框架当中。所以,可以很容易的使Spring框架管理的任何对象都可以支持AOP。Spring的AOP模块为基于Spring的应用程序中的对象提供了事物管理功能,通过使用Spring AOP不用依赖EJB组件就可以将声明性事物管理集成到应用程序当中。
  • JDBC和DAO模块(Spring DAO):JDBC、DAO的抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商所抛出的异常信息。异常层次结构简化了错误处理,并且极大的降低了需要编写的异常处理代码数量。例如打开和关闭连接等等。SpringDAO的面向切面,JDBC的异常遵从通用的DAO异常层次结构。
  • 对象实体映射(SpringORM):Spring框架插入了若干个ORM框架,从而提供了ORM对象的关系工具。其中包括JDO、Hibernate… …所有这些都遵从Spring的通用事物和DAO异常层次结构。
  • Web模块(Spring Web):Web上下文模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文,所以Spring框架支持与Struts的集成。Web模块还简化了处理多部分请求以及将请求参数绑定到预对象的操作。
  • MVC模块(Spring WebMVC):Spring的MVC是一个全功能的构建Web应用程序的MVC的实现。通过策略接口,MVC框架变成为高度可配置的。MVC容纳了大量视图技术。模型来由JavaBean来构成,存放与Map当中。而视图是一个接口,负责实现模型。控制器是一个逻辑代码,是Control的实现。

Spring框架的功能可以用在任何J2EE服务器当中,大多数功能也适用于不受管理的功能

Spring的核心要点就是:支持不绑定到特定J2EE服务的可重用业务和数据的访问对象

 

Spring的优势:

  • 它定位的领域是许多其他流行的framework没有的
  • Spring是全面的和模块化的
  • 它的设计从底部帮助你编写易于测试的代码
  • Spring是潜在的一站式解决方案

 

Spring的优点:

  • 低侵入式设计,代码污染极低
  • WriteOnce, Run Anywhere
  • DI有效的降低了耦合度
  • AOP提供了通用任务的集中管理
  • ORM和DAO简化了对数据库访问
  • 高度开放性,并不强制

Spring的这些优点贯穿与表现层,业务层以及持久层

 

Spring的优点给开发带来的好处:

  • 可以有效组织中间层对象
  • 使用统一的配置文件
  • 促进良好编程习惯,减少编程代价
  • 易于单元测试
  • 使EJB成为一种备选
  • 为数据存取提供了一致的框架

Spring的特点:

  • 方便解耦,简化开发
  •  AOP编程的支持
  • 声明式事务的支持
  • 方便程序的测试
  • 方便集成各种优秀框架
  • 降低JavaEE API的使用难度
  • Spring的源码是经典学习范例

 


总结:

1.Spring带来了复杂的J2EE开发的春天,他让我们J2EE的开发变得越来越简单。

2.它的核心是轻量级的IOC容器,它的目标是为J2EE应用提供了全方位的整合框架,在Spring框架下实现多个子框架的组合,这些子框架之间可以彼此独立,也可以使用其它的框架方案加以代替

3.Spring希望为企业应用提供一站式的解决方案,Spring为企业级服务进行了进一步的封装,简化了企业级的开发。同时采用他也就意味着良好分层设计,并且保证了面向接口编程,加上他的IOC和AOP容器的优势更加方便我们后期的维护。但是,由于容器大量的使用反射机制来装配对象一定会影响性能。对于一些高并发的大型应用,我们建议还是要慎重使用。
分享到:
评论

相关推荐

    01Spring简介.md

    01Spring简介.md

    01-spring简介-框架的概念

    01-spring简介-框架的概念Spring框架是 Java 平台的一个开源的全栈(Full-stack)应用程序框架和控制反转容器实现,一般被直接称为 Spring。该框架的一些核心功能理论上可用于任何 Java 应用,但 Spring 还为基于...

    01.Spring框架简介_spring_spring发展历程_

    spring框架简介:介绍sprng发展历程、优势、体系结构、概述

    SpringCloud实用篇01.pptx

    SpringCloud实用篇01

    spring-intro:Spring 框架简介,超过 10 节课程

    Spring框架介绍========================Spring 框架简介,超过 10 节课程课程大纲S01 - Spring 简介Spring 介绍和概述三层架构 - 简短介绍和 Spring 在每一层中的作用在 webapp 中连接 Spring 基于 Spring 注解的 ...

    Spring学习的笔记

    chapter01 Spring简介 1 chapter02 Spring的IoC 2 chapter03 Spring的AOP 5 chapter04 Spring对持久层的支持 11 chapter05 Spring对事务的支持 14 chapter06 SSH整合 15

    SpringCloud实战入门视频课程

    JavaWeb学者课程简介1、让初学者从小白开始,善于运用SpringCloud,解脱传统的开发模式的苦恼2、让开发者能够学习更多的开发使用技巧,成为微服务开发大牛〖课程目录〗:1-101什么是微服务.mp41-1010创建父级工程.mp...

    day01-SpringMVC入门.doc

    SpringMVC是一种基于Java,实现了Web MVC设计模式,请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦。基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,...

    《Spring Boot 2精髓:从构建小系统到架构分布式大系统》学习项目源码

    2018-2018030801:01-ch01-hello 第一章《Java EE 简介》学习源码 Hello Spring Boot 示例、使用热部署、添加REST支持 2018-2018030802:02-ch02-aop 第二章《Spring Boot 基础》学习源码 在 Spring Boot 中使用 ...

    微服务架构Spring Cloud视频教程.rar

    3.开始使用Spring Cloud实战微服务.avi 4服务提供者与服务消费者。avi 4服务提供者与服务消费者new,avi 4.1服务发现与服务注册.ai 4,2 Eureka简介与Eureka Server.上,ai 4.3将微服务注册到Eureka Server_上.ai ...

    Spring Boot全套教程.txt

    01-Spring的发展 02-Spring的Java配置方式 03-实战-读取外部的配置文件 04-SpringBoot简介 05-第一个SpringBoot应用 06-SpringBoot核心-核心注解、自动配置、自定义banner 07-全局配置文件 08-starter pom、xml配置...

    01-SpringBoot简介1

    1.了解Spring Boot发展背景 2.了解Spring Boot的特点 3.掌握基于Spring Boot项目构建 1. Spring Boot背景 3.

    (SSM、Spring Boot、Spring Security、MinIO、Vue). 以Java项目实践

    资源简介:SSM Java 项目集合 一、概述 在这个平台上,我们为大家带来了一系列的 JavaSSM(Spring + SpringMVC + MyBatis)项目。这些项目旨在展示SSM框架在实际应用中的魅力,同时也为开发者提供了一个快速学习和...

    尚硅谷Spring boot核心技术篇(上)

    00、尚硅谷_SpringBoot_源码、课件 01、尚硅谷_SpringBoot_入门-课程简介 02、尚硅谷_SpringBoot_入门-Spring Boot简介 03、尚硅谷_SpringBoot_入门-微服务简介 04、尚硅谷_SpringBoot_入门-环境准备 05、尚硅谷_...

    ssm框架整合Spring Security项目.zip

    资源简介:SSM Java 项目集合 一、概述 在这个平台上,我们为大家带来了一系列的 JavaSSM(Spring + SpringMVC + MyBatis)项目。这些项目旨在展示SSM框架在实际应用中的魅力,同时也为开发者提供了一个快速学习和...

    基于SpringBoot+SpringSecurity的RBAC管理系统,易读易懂.zip

    以下是一份关于您的Java SpringBoot项目的简介描述: 准备好一起踏上这次深入Java的SpringBoot之旅了吗?如果您正在寻找一个现代化、高效且易于扩展的开发框架,那么这个SpringBoot项目将是您的理想选择。 主要...

    完整版Java web开发教程PPT课件 Java开发进阶教程 第13章 spring ioc aop(共18页).pptx

    完整版Java web开发教程PPT课件 Java开发进阶教程 第01章 JavaScript简介以及基本语法(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第02章 Dom模型,控制客户端元素(共15页).pptx 完整版Java ...

    spring-boot-101

    Spring Boot简介 该研讨会将指导您创建一个简单的Spring Boot应用程序。 研讨会将分为四个模块。 每个模块将涵盖Spring Boot的不同方面。 你需要什么 JDK 1.8 Maven的3.3+ 您最喜欢的IDE 如何完成本次研讨会 并解...

    Spring, SpringMVC, MyBatis, JDBC, MySQL, JSP, Servlet, Bootstrap

    资源简介:SSM Java 项目集合 一、概述 在这个平台上,我们为大家带来了一系列的 JavaSSM(Spring + SpringMVC + MyBatis)项目。这些项目旨在展示SSM框架在实际应用中的魅力,同时也为开发者提供了一个快速学习和...

    完整版Java web开发教程PPT课件 Java开发进阶教程 第01章 JavaScript简介及语法(共15页).pptx

    完整版Java web开发教程PPT课件 Java开发进阶教程 第01章 JavaScript简介以及基本语法(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第02章 Dom模型,控制客户端元素(共15页).pptx 完整版Java ...

Global site tag (gtag.js) - Google Analytics