spring框架的基本功能、模型、技术要点

没有产品就不存在框架,

先从互联网产品的功能说起

互联网软件产品的功能概括来讲就是提供一个平台来实现用户和用户之间的在线互动,完成一个特定任务(如:买菜)。这个平台可以运用到各个传统行业-零售、娱乐、政务。

平台功能分解:

    用户互动的界面

    特定任务的业务逻辑处理

    特定任务的业务数据的变更操作、查询操作、保存

    用户随时随地接入平台

最高层次的平台架构选择问题

1、支持用户随时随地接入平台

实际上TCP/IP协议已经成为信息网络节点互联的权威标准,这个其实没有其他选择

2、用户互动的界面,有两种选择用浏览器或者原生库

使用浏览器的优势,用户界面实现和变更非常容易,仅需要更改html元素的组合和布局,并且用户界面变更仅需要平台侧变更

使用原生库的优势,用户界面显示效果好,安全性高

从开发成本和软件功能的可扩展性来看,优先选择浏览器方式开发界面。

3、特定任务的业务数据的管理,大量用户在线查询数据,并产生大量的交易和浏览数据记录需要存储

选择分布式架构(微服务、云)来解决大量用户同时提供服务的问题

选择采用多种数据库系统来解决数据管理的数据的简洁高效访问、全局搜索、数据分析等方面问题

spring框架实现的功能复用:

    内部集成web服务器tomcat,复用http协议处理功能

    modle、view、controler框架,复用http视图生成逻辑,URL和业务逻辑的映射处理逻辑

    安全框架,复用安全过滤处理逻辑

    数据库访问接口jpa,复用数据库的CRDU访问接口,数据库链接接口





分布式架构复用

    服务注册和发现

    服务间通信:同步通信(restful)、异步通信(xxxmq)

    服务集中配置服务器

    服务多实例的负载均衡(rabbin)


软件功能扩展的角度看

多种系统集成

       集成其他系统来扩展原有系统功能,如数据库系统

组件功能扩展

       相同组件接口不同具体实现

       再原有组件接口上增加附加功能

spring框架实现的功能扩展:

系统集成

           数据库系统集成(jpa)接口简单,面向对象模型

           其他微服务系统集成,同步接口Restful服务,异步接口xxxmq消息队列

         具有20多种已有系统的集成接口,有一套包含网关、通道适配器、内容转换器、路由器组件的统一的集成接口适配模型

组件功能扩展 

          使用AOP切面方式,增加原有组件的附加功能

          A调用B的func的业务接口实现一个功能,可以在B类所有方法增加一个切面,增加日志记录功能,日志功能的增加不需要修改原有A和B的代码,仅需要扩展定义一个Aspect

          @Aspect @Pointcut

          使用自动装配方式扩展抽象接口的具体实现 

          controller扩展新的URL和业务逻辑处理的映射

          springsecurityConfigerAdapter扩展新的安全策略

          使用动态代理方式扩展抽象接口的具体实现   

          interface productRepository extern CrduRepository<T>

spring框架使用的基础关键技术,是作为容器在对象创建的过程中做了大量的关键处理(如属性自动装配、灵活创建动态代理、创建所有实现相同接口的类对象)

    反射: 可以在运行期,打开class文件获取属性和方法,并可以修改属性和执行方法,这样调用构造函数就可以自动创建bean,修改属性就可以自动装配bean,创建bean通过接口类型就可以实现多种实现的对象

    动态代理 :通过动态代码动态生成代码类的字节码,原有接口增加新功能就不用写大量的重复代理代码

    注解:为注解编写注解解析器,将注解解析器注入到spring框架的bean创建过程,这样再写代码就很省力,仅需要在代码中增加注解,就完成了功能的添加。

spring框架最基础的模型

BeanFactoryPostProcessor职责:进行对象创建前的工厂的前期准备,如扫描和解析注解@configuration,将其包含的bean加入到beandef中。

BeanFactory职责:根据beandef创建bean

BeanPostProcessor职责:生成目标对象的动态代理,自动装配对象的属性

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,029评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,238评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,576评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,214评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,324评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,392评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,416评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,196评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,631评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,919评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,090评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,767评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,410评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,090评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,328评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,952评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,979评论 2 351

推荐阅读更多精彩内容