文章目录
spring的出现
spring是轻量级J2EE开发解决方案
解决javaEE规范中的EJB(enterprise java ee)框架的缺陷
EJB缺陷
1、运行环境苛刻
2、代码移植性差
结论:EJB是重量级框架
spring
轻量级的javaEE解决方案,整合了众多优秀的设计模式。
轻量级:
①对运行的服务器没有额外的要求,开源选择开源的服务器(tomcat、resion、jetty)收费的服务器也行(weblogic、websphere)
②代码移植性高,不需要事先额外接口
javaEE的解决方案
spring整合了设计模式
1、工厂
2、代理
3、模板
4、策略
等等
设计模式
面向对象设计中解决特定加粗样式问题的经典代码。
23种设计模式
工厂设计模式
通过工厂类创建对象
为什么用工厂呢?解耦
耦合:代码之间的强关联的关系,一方的改变会影响到另一方。(简单理解为把接口的实现类硬编码在程序中)
耦合不利于代码的维护。
此时test1中没有耦合了
但是工厂类代码存在耦合,需要解决。
通过反射创建对象,解耦合。
简单工厂设计
下一步解决耦合字符串
用properties文件解决
properties 文件中以<key,value>形式
如果有朝一日要改变实现类,只需要改配置文件
通用工厂设计
通用工厂使用
applicationContext.properties中
使用
环境搭建
核心API——ApplicationContext
ApplicationContext工厂
程序开发
spring工厂底层基本实现(简易版)
思考
持久层框架如mybatis等等
因为实体对象需要关联数据库,而spring是不知道数据库的。
spring与日志框架整合