大二毕设.2-自研Spring框架

news/2025/2/13 2:10:07/

目录

项目描述:

基本演示

提取标记类

IOC容器的装载

IOC容器的操作

DI依赖注入

Aspect排序

AOP

MVC

功能实现讲解


  • 项目描述:

    • 为了更好地学习 Spring 的核心,参考 Spring 源码实现的一个简易框架
    • 当前已实现 IOC,DI依赖注入,AOP,MVC 等功能
  • 内容:
    • 采用大量的设计模式使代码简洁稳定,包括但不限于:
      • 工厂模式实现 BeanContainer (BeanFactory)
      • 单例模式注册 Bean 对象
      • 代理模式实现 AOP 切面编程核心
      • 观察者模式拆分 模型与视图
      • 责任链模式实现 MVC 执行注册的请求处理器
  • 基本演示

  • 提取标记类

  • IOC容器的装载

  • IOC容器的操作

    • 对容器的操作都是基于容器被加载之后,所以测试时要指定顺序
    • 用instanceof来判断controller实例是否是MainPageController创建出来的
    • dispatcherServlet没有加注解没有被bean容器管理,所以使用bean容器获得的实例对象应该为null
  • DI依赖注入

  • 创建同样的目录
  • 1、获取容器实例
  • 2、指定范围将被注解标记的类交给容器管理加载
  • 3、先判断容器是否被加载,加载后就可以获得bean实例
  • 4、判断是否是MainPageController创建的实例
  • 5、给controller设置get方法获得私有成员变量
  • 6、因为没调用doIoc,所以成员变量的实例应该为null
  • 7、调用doIoc,进行依赖注入
  • Aspect排序

  • AOP

  • 通知(Advice)1 & 切面(Aspect)
  • 通知(Advice)2 & 切面(Aspect)
  • 目标对象(Target)
  • MVC

  • 功能实现讲解

  • 点击->IOC容器&依赖注入
  • 点击->AOP
  • 点击->MVC

http://www.ppmy.cn/news/961656.html

相关文章

seafile

安装python3 服务器:192.168.1.1251.安装python3编译安装依赖 yum install libffi-devel -y yum install zlib-devel -y yum install bzip2-devel -y yum install ncurses-devel -y yum install sqlite-devel -y yum install readline-devel -y yum install tk-de…

ChatGPT玩起来真是上头,AI广泛应用元年体验AI之美

概述 ChatGPT是由人工智能研究实验室OpenAI在2022年11月30日发布的全新聊天机器人模型,一款人工智能技术驱动的自然语言处理工具。它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流&#xf…

AI凛冬将至?ChatGPT是否预示着本次AI浪潮已见顶?

当ChatGPT-3.5在2022年10月份上线的时候,我们可能觉得这不过是一次迭代升级。 当各种网友调戏ChatGPT的段子泛滥网络的时候,我们可能觉得新一代聊天机器人进步挺大。 当我们听科普大V说这一代ChatGPT的深度神经网络有1750亿个参数,是其他模型…

面对ChatGPT,中国AI可以不疾不徐不焦虑

从去年ChatGPT发布开始,到微软将其融合到Bing搜索,再到GPT-4火速上线,关于ChatGPT的故事,在这几个月的火爆程度简直令人难以置信。来自全球各界的关注与讨论,让科技产业出现了多年未有的全球性盛况。无论其中有多少“虚…

AutoGPT,AI新晋太子?一觉醒后ChatGPT 被淘汰了

近日,AI 界新概念:自主人工智能。横空出世 这不是空穴来风,最近一个名为 AutoGPT 的研究开始走进大众视野。 特斯拉前 AI 总监、刚刚回归 OpenAI 的 Andrej Karpathy 也为其大力宣传,并在推特赞扬: 「AutoGPT 是 pro…

通达信超级分时主图指标公式_通达信公式

{日引用} MA3:MA(C,3); MA5:MA(C,5); MA7:MA(C,7); MA10:MA(C,10); MA21:MA(C,21); {BBIYY} DKX:(MA(C,3)MA(C,6)MA(C,12)MA(C,24))/4; {LJFSYY} H1:REF(H,1); L1:REF(L,1); {大盘分时主图} SJ:IF(HOUR<12,(HOUR-9.5)*60MINUTE,(HOUR-11)*60MINUTE); F:DYNAINFO(3)…

以ChatGPT为题材写一篇计算机科学与技术的本科毕业论文,字数要求5000字。

引言 随着人工智能技术的不断发展&#xff0c;计算机科学与技术领域的应用日益广泛。其中&#xff0c;自然语言处理技术是人工智能技术的重要领域之一&#xff0c;而ChatGPT正是目前应用最广泛、效果最优秀的自然语言处理模型之一。本文将以ChatGPT为题材&#xff0c;对计算机科…

mysql(五)索引的三种级别

对于一个查询而言&#xff0c;一个三星索引&#xff0c;可能是其最好的索引。如果查询使用三星索引&#xff0c;一次查询通常只需要进行一次磁盘随机读以及一次窄索引片的扫描&#xff0c;因此其相应时间通常比使用一个普通索引的响应时间少几个数量级。 所谓的"三星索引…