第一章 Spring概述
1、EJB存在的问题
- 运行环境苛刻
EJB(Enterprise Java Bean)代码只能运行在服务器中的EJB容器中,但Tomcat没有EJB容器,而有EJB容器的服务器是闭源收费,如:Weblogic、Websphere,我们不能对服务器进行修改和定制
-
代码移植性差
EJB代码运行在Weblogic或者Websphere中时,必须实现相应的接口,代码移植时,要对实现接口进行调整
2、什么是Spring?
Spring是一个轻量级的Java EE解决方案,整合众多优秀的设计模式
Spring是一个支持快速开发Java EE应用程序的框架
Spring提供了一系列底层容器和基础设施,可以和大量常用的开源框架无缝集成
2.1、轻量级#
-
对运行环境没有额外要求
可以运行在闭源收费或者开源免费的服务器中,直接将代码运行在Servlet引擎中
-
代码移植性高
不需要实现额外接口
2.2、解决方案#
java开发是分层开发的,不管是struts2还是MyBatis只解决了某一层的问题,而Spring则是解决了每一层的问题,所以Spring是框架之上的框架
2.3、设计模式的整合#
- 工厂
- 代理
- 模板
- 策略
3、设计模式
-
广义
面向对象设计中,解决特定问题的经典代码
-
狭义
23种设计模式:工厂、迭代器、适配器、装饰器、门面、代理、模板。。。
4、工厂设计模式
4.1、什么是工厂设计模式?#
不直接通过new关键字创建对象,而是通过工厂类创建对象,好处就是解耦合
4.2、工厂的设计#
https://www.cnblogs.com/suwuji/p/16483880.html
4.3、工厂的使用方法#
- 定义类
- 在配置文件中进行配置
- 通过工厂获得类的对象
4.4、Spring工厂#
- Spring的本质就是工厂
- Spring工厂叫做ApplicationContext
- Spring工厂的配置文件叫做applicationContext.xml
5、Spring Framework
- 支持IOC和AOP的容器
- 支持JDBC和ORM数据访问模块
- 支持声明式事务的模块
- 支持基于Servlet的MVC开发
- 支持基于Reactive的Web开发
- 集成JMS、JavaMail、JMX、缓存等其它模块
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现