原创内容,转载请注明出处
1、Spring框架
Spring框架是一个分层架构,通过模块化划分,如下图,列出了主要的几个模块。
核心容器:Spring核心容器提供了Spring框架的基本功能,核心容器的组件是BeanFactory,它是一个典型的工厂模式的实现。BeanFactory通过IOC控制反转将Bean的实例注入给对应的变量,简单说就是Bean的生成不需要自己new,让BeanFactory通过Java反射创建即可。
Spring上下文:Spring上下文是一个配置文件,向Spring提供上下文信息。
Spring Aop:Spring Aop模块将面向切面编程集成到Spring框架中,支持Java的动态代理和Cglib。
Spring Web:Spring Web模块为Web应用环境提供了一个Web上下文。可集成Struts、Struts2等框架。
Spring MVC:Spring Mvc模块是Spring构建Web应用程序的MVC实现。可和Spring其他模块完美结合使用,也可以单独使用,支持大量的视图技术,包括Jsp、Velocity、POI等。
Spring ORM:ORM模块支持目前市面大量的ORM框架的集成,包括Mybatis、Hibernate等。
Spring DAO:Spring DAO模块提供了一系列的DaoSupport类来简化数据库操作代码,比如JdbcDaoSupport、HibernateDaoSupport等。
2、IOC接口设计
IOC,控制反转模式,即不用自己创建对象,只需要在配置文件中描述类的特性,以及类与类之间的联系,最后通过BeanFactory工厂来获取对应的类的实例。
Spring IOC接口设计分两条设计路线,一条是包含基本IOC容器功能(BeanFactory),另外一种是除了包含基本IOC容器功能外,还添加了一些高级容器的特性(ApplicationContext)。
如下图是IOC接口类图
从以上接口类图可以看出基本IOC容器接口是BeanFactory,高级IOC容器接口ApplicationContext依旧是BeanFactory的子类。
1.在BeanFactory中实现了最基本的IOC功能,依赖注入getBean方法,和一些其他基本方法。
2.ApplicationContext通过继承MessageSource、ResourcePatternResolver、ApplicationEventPublisher、EnvironmentCapable接口,在BeanFactory简单的IOC容器基础上添加了许多高级容器的特性。也就是说基本上ApplicationContext除了包含IOC基本的功能外,还附加了更高级的功能,并且更好扩展性更强,应用中可以以ApplicationContext使用为主。
3、AOP面向切面编程。
面向切面编程是一种编程技术,它允许动态给某个功能方法添加额外功能,使得在不修改原来功能方法的前提下,动态添加了额外功能。比如delete删除方法后需要增加log记录日志功能,使用Aop就可以将原来的删除方法和日志功能的各自实现拆分开来,符合设计原则的松散耦合特性。SpringAop是IOC的补充,可与IOC完美集成。
Sprig AOP的功能的典型实现代表是Spring事务管理,除此之外还可做日志功能和方法拦截等功能。
相关推荐
手动实现一个Spring框架 内容持续更新,详细教程欢迎关注我的博客 最近学习了一下spring的相关内容,所以也就想要照猫画虎地记录和实现一下spring的框架,通过阅读这些也希望能够消除对Spring框架的恐惧,其实细心...
Java源码分析与常用设计模式,分布式架构的框架结构,底层原理。手写spring mvc,微服务架构 spring 5新特新与源码解析。
你不仅能从木书中参透Spring框架的优秀架构和设计思想,而且还能从Spring优雅的实现源码中一窥Java语言的精髓。此外,本书还展示了阅读源代码的卓越方法,不仅授你以鱼,而且还授你以渔!, 如果你以一种淡定的心态...
SpringSecurity 全套开发,设计源码解读,整个拦截器链分析,QQ登录,微信登录,短信验证,短信登录,在security基础上学习写一个自定义验证授权设计模式,整套视频讲解的分享细致认真,非常值得学习。不管小白还是...
第一部分:部署linux + nginx 第二部分:部署Windows+tomcat 第三部分:调用第三方api的跨域问题处理。 以及常见的部署后页面显示404 的问题处理。 (ruoyi平台简介: 若依是一套全部开源的快速开发平台,毫无保留...
│ │ 13.RPC底层通讯原理之Netty线程模型源码分析.wmv │ │ │ ├─14.分库分表之后分布式下如何保证ID全局唯一性 │ │ 14.分库分表之后分布式下如何保证ID全局唯一性.mp4 │ │ │ └─15.大型公司面试必答之...
该项目利用了基于springboot + vue + mysql的开发模式框架实现的课设系统,包括了项目的源码资源、sql文件、相关指引文档等等。 【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理...
集合源码分析 hbase-sdk 基于HBase Client的相关API开发而来的一款轻量级的HBase ORM框架。提供SQL查询功能,以类SQL的方式——HQL读写HBase数据。 :face_savoring_food: 针对HBase 1.x和2.xAPI的不同之处,在其上做...
该项目采用了SSM(Spring+SpringMVC+MyBatis)框架作为开发基础,结合JSP技术,构建了一个功能完善、操作便捷的物流管理系统。SSM框架以其优秀的扩展性、可维护性和高性能,为系统的稳定运行提供了坚实的保障。而JSP...
“Java毕业设计——基于SSM框架开发的机场网上订票系统”是一项精心打造的毕业设计项目,旨在通过SSM(Spring + SpringMVC + MyBatis)框架,实现一个功能完善的机场网上订票系统。该系统不仅为旅客提供了便捷、高效...
系统后端采用了SSM框架——这是Spring、Spring MVC和MyBatis三个框架结合的一个企业级应用开发框架。数据存储方面,使用了MySQL数据库。对于前端页面的实现,则主要借助了JSP(JavaServer Pages)技术。选用SSM框架...
这篇文章研究了基于Spring Boot框架的校园周边美食探索及分享平台的开发和实现,从需求分析、总体设计到具体实现,最终完成了整个在线校园周边美食探索及分享平台,从而方便了用户和提高了管理员的管理水平。...
Spring框架负责业务逻辑的处理,SpringMVC负责请求的接收与响应,MyBatis则负责与数据库进行交互,三者协同工作,使得系统性能稳定、响应迅速。同时,JSP技术的运用使得前端页面呈现效果美观、交互体验流畅。 此外...
Spring源码分析.pdf Spring面试专题.docx Spring面试专题及答案.pdf Spring面试题(含答案).pdf Tomcat面试专题.docx vivo2021届春季招聘在线编程考试.docx 哔哩哔哩2021招聘后端笔试卷(一).docx 哔哩哔哩2021...
本次介绍的资源——基于SSM框架的高校课程评价系统,正是为了满足这一需求而精心研发的。 该系统采用了SSM(Spring+SpringMVC+MyBatis)框架进行开发,确保了系统的稳定性、可扩展性和可维护性。SSM框架以其强大的...
标题:基于SSM的理发店管理系统——高效管理与优化服务体验摘要:本资源介绍了一个基于SSM(Spring、Spring MVC、MyBatis)框架的理发店管理系统。该系统旨在帮助理发店实现高效管理,提高服务质量,提升客户满意度。...
由于J2EE的开源的框架中提供了MVC模式实现框架Struts、对象关系模型中的Hibernate 的框架及拥有事务管理和依赖注入的Spring。利用现存框架可以更快开发系统。所以选择Java技术作为blog 的开发工具。 为了增加系统的...
本系统采用了流行的Java Web开发框架——Spring Boot,结合了MyBatis作为持久层框架,以及MySQL作为数据库。系统提供了丰富的功能,包括图书信息的增删改查、库存管理、销售记录、采购记录等。系统的主要功能如下:...
Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...
1. **源代码**:提供完整的Java源代码,基于主流的Java开发框架如Spring、Hibernate等构建,确保系统的稳定性和可扩展性。代码结构清晰,注释详细,便于理解和二次开发。 2. **论文**:包含详细的系统设计与实现...