第一章 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、缓存等其它模块