zoukankan      html  css  js  c++  java
  • spring概述和体系结构

      Spring是最受欢迎的企业级应用程序开发框架,我想作为一个程序员没有人不知道它。它是一个轻量级的java开源框架。核心特点是可以开发任何java应用程序,目标是使j2ee项目变得更容易使用。

      介绍Spring之前,先介绍两种思想:控制反转(IoC)面向切面编程(AOP)

    控制反转

      Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。

    • 谁控制谁,控制什么
      谁控制谁?
        当然是IoC 容器控制了对象;
      控制什么?
        主要控制了外部资源获取(不只是对象包括比如文件等)。

    • 为何是反转
      有反转就有正转,传统应用程序是由我们自己在对象中主动控制去直接获取依赖对象,也就是正转;而反转则是由容器来帮忙创建及注入依赖对象;
      为何是反转?
        因为由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象,所以是反转;哪些方面反转了?依赖对象的获取被反转了。

    • Ioc和DI
      组件之间的依赖关系由容器在运行期决定,依赖注入(DI)仅仅是控制反转的一个具体的例子。

    面向切面编程

      AOP是Spring框架面向切面的编程思想,AOP采用一种称为“横切”的技术,将涉及多业务流程的通用功能抽取并单独封装,形成独立的切面,这些横切关注点在概念上独立于应用程序的业务逻辑。有各种各样常见的很好的关于方面的例子,比如日志记录、声明性事务、安全性,和缓存等等。

    体系结构

      Spring是模块化的,允许选择要使用的模块。Spring 框架提供约 20 个模块,可以根据应用程序的要求来使用。

      

      核心容器由spring-core,spring-beans,spring-context,spring-context-support和spring-expression等模块组成,它们的细节如下:

    • spring-core
      提供了框架的基本组成部分,包括Ioc/DI功能。

    • spring-beans
      提供BeanFactory,工厂模式的微妙实现,它移除了编码式单例的需要,并且可以把配置和依赖从实际编码逻辑中解耦。

    • spring-context
      建立在由core和 beans 模块的基础上建立起来的,Context模块继承自Bean模块,并且添加了国际化(比如,使用资源束)、事件传播、资源加载和透明地创建上下文(比如,通过Servelet容器)等功能。ApplicationContext接口是Context模块的焦点。

    • spring-context-support
      提供了对第三方库集成到Spring上下文的支持,比如缓存(EhCache, Guava, JCache)、邮件(JavaMail)、调度(CommonJ, Quartz)、模板引擎(FreeMarker, JasperReports, Velocity)等。

    • spring-expression
      提供了强大的表达式语言,用于在运行时查询和操作对象图。它是JSP2.1规范中定义的统一表达式语言的扩展,支持set和get属性值、属性赋值、方法调用、访问数组集合及索引的内容、逻辑算术运算、命名变量、通过名字从Spring IoC容器检索对象,还支持列表的投影、选择以及聚合等。

        

    “小智”和“佩奇”是同班同学,佩奇同学非常乐于思考,经常提问题,小智同学,聪明绝顶,乐于解答问题。
  • 相关阅读:
    vue 使用 <iframe> 嵌入网页 地址实现动态配置
    vue 视频播放 vue-video-player
    vue 实现自定义序号, 并且翻页序号累加。
    关于 vue 使用 Handsontable 表格数据导出
    node.js Stream流的使用
    手把手教如何搭建node+egg项目 引入Sequelize
    实现 通过数据库里一个字段值相等 则把 他合为一条数据
    最近在项目中碰到把对象数组转为键值对,
    js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScrip
    for循环
  • 原文地址:https://www.cnblogs.com/liyefei/p/13065961.html
Copyright © 2011-2022 走看看