专栏首页日常分享Spring 学习笔记(一)——Spring 基本概念和体系概览

Spring 学习笔记(一)——Spring 基本概念和体系概览

Spring 简介

Spring 为企业级开发提供了一个轻量级的解决方案,主要包含

  •   基于依赖注入核心功能;
  •   声明式的面向切面编程(AOP)支持;
  •   与多种持久层技术的整合;
  •   独立的Web MVC框架

简而言之,Spring 是一个轻量级的IoC(控制反转)和AOP(面向切面)的容器框架。

  •   控制反转:Spring通过一种被称作控制反转的技术促进了松耦合。

                  即一个对象依赖的其他对象会通过被动的方式传递进来,而不是这个对象自己创建或查找依赖对象。

  •   面向切面:允许通过分离应用的业务逻辑与系统及服务进行内聚性的开发。
  •   容器:Spring包含并管理应用对象的配置和声明周期,在这个意义上Spring只是一种容器,开发者可以配置自己的每个Bean

                  可以创建一个单独的实例或者每次需要时都生成一个新的实例,以及配置这些Bean之间时如何相互关联的。

Spring 体系结构

  关于Spring框架各模块介绍如下:

    (1)Spring核心模块

        实现了IoC功能,将类和类之间的依赖从代码中脱离出来,用配置的方式进行依赖关系描述,由IoC容器负责依赖类之间的创建、拼接、管理、获取等工作。

        BeanFactory接口时Spring框架的核心接口,实现了容器的许多核心功能。

        Context模块构建于核心模块之上,扩展 了BeanFactory的功能,添加了il8n国际化、Bean生命周期控制、框架事件体系、资源加载透明化等多项功能。

        表达式语言是统一表达式语言(unified EL)的一个拓展,用于查询和管理运行期的对象。

    (2)AOP模块

        在该模块中,Spring提供了满足AOP Alliance规范的实现,还整合了AspectJ这种AOP语言级框架。

        <Java 5.0引入java.lang.instrument,允许在JVM启动时启用一个代理类,通过该代理类在运行期间修改类的字节码,改变一个类的功能,实现AOP的功能>

    (3)数据访问和集成模块

        Spring在DAO的抽象层面,建立了一套面向DAO层统一的异常体系。

        同时将各种访问数据的检查型异常转化为非检查型异常,为整合各种持久层框架提供基础。

        Spring建立起了和数据形式以及访问技术无关的统一的DAO层,借助AOP技术,Spring提供了声明式事务的功能。

    (4)Web及远程操作模块

        该模块建立在Application Context模块智商,提供了Web应用的各种工具类。

        如:通过Listener或Servlet初始化Spring容器,将Spring容器注册到Web容器中。

        其次该模块还提供了多项面向WEB的功能,如透明化文件上传、Velocity、FreeMarker、XSLT的支持。

    (5)Web及远程访问框架

        Spring自己提供了一个完整的类似于Strust的MVC框架,成为Spring MVC。

        并针对每个功能模块,Spring框架都提供了独立的jar文件,这可以方便开发者有选择地使用Spring提供的功能。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 网络通信中基于套接字输入流和输出流的创建

      (2)由套接字对象Socket调用getInputStream()或getOutputStream()方法,分别返回具有套接字通信的基础输入流InputSt...

    Rekent
  • Java Web Action DAO Service层次理解

    参考来源:http://blog.csdn.net/inter_peng/article/details/41021727

    Rekent
  • Spring 学习笔记(八)—— 注解使用整合

    需先在配置文件中,配置一个org.springframework.beans.factory.annotation. AutowiredAnnotationBe...

    Rekent
  • Spring面试题(2020最新版)

    Java面试总结汇总,整理了包括Java基础知识,集合容器,并发编程,JVM,常用开源框架Spring,MyBatis,数据库,中间件等,包含了作为一个Java...

    Java架构师必看
  • 15个经典的Spring面试常见问题

    这篇文章主要是想通过一些问题,加深大家对于 Spring 的理解,所以不会涉及太多的代码!这篇文章整理了挺长时间,下面的很多问题我自己在使用 Spring 的过...

    Java团长
  • Spring-Data-REST轻松搞定RESTfulAPI

    背景 昨天同事问我有没有研究过 ,没有~但是看名字就大概知道是做什么的(命名的重要性),因为之前有了解过 ,过一会发过两个截图过来。真的很强大,感觉这个在使用...

    企鹅号小编
  • 15个经典的Spring面试常见问题

    Spring 是一种轻量级开发框架,旨在提高开发人员的开发效率以及系统的可维护性。Spring 官网:https://spring.io/。

    Java3y
  • 经典的Spring面试常见问题

    Spring 是一种轻量级开发框架,旨在提高开发人员的开发效率以及系统的可维护性。Spring 官网:https://spring.io/。

    乔戈里
  • 《Spring敲门砖之基础教程第一季》 第一章 概要介绍

    百度百科say: Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spri...

    用户1257215
  • Spring IoC 和 AOP 的理解

    IoC(Inverse of Control,即控制反转)是一种设计思想,就是将原本在程序中手动创建对象的控制权,交由 Spring 框架来管理。 IoC 在其...

    happyJared

扫码关注云+社区

领取腾讯云代金券