Spring源码解析----Spring思想、设计模式总结

Spring思想

Sping思想 应用场景(特点) 一句话归纳
AOP 1、Aspect Oriented Programming(面向切面编程);2、找出多个类中有一定规律的代码,开发时拆开,运行时再合并;3、面向切面编程,即面向规则编程。 解耦,专人做专事
OOP 1、Object Oriented Programming(面向对象编程);2、归纳总结生活中一切事物。 封装、继承、多态
BOP 1、Bean Oriented Programming(面向Bean编程);2、面向Bean(普通的java类)设计程序 一切从Bean开始
IOC 1、Inversion of Control;2、将New对象的动作交给Spring管理,并由Spring保存已创建的对象(IOC容器)。 转交控制权(即控制权反转)
DI/DL 1、Dependency Injection(依赖注入) / Dependency Lookup(依赖查找);2、依赖注入、依赖查找、Spring不仅保存自己创建的对象,而且保存对象与对象之间的关系;3、注入即赋值,主要三种方式:构造方法、set方法、直接赋值 先理清关系,再赋值

设计模式

设计模式 应用场景(特点) Design Patterns 一句话归纳
代理模式 Proxy 1、两个参与角色:执行者(代理人)、被代理人;2、对于被代理人来说,这件事情是一定要做的,但是我自己又不想做或者没有时间做,找代理;3、代理人必须需要获取到被代理人的个人资料(持有被代理人的引用) 办事要求人,所以找代理
工厂模式 Factory 1、对于调用者来说,隐藏了复杂的逻辑处理过程,调用者只关心执行结果;2、对于工厂来说要对结果复杂,保证生产出符合规范的产品 只对结果负责,不要三无产品
单例模式 Singleton 1、保证从系统启动到系统终止,全过程只会产生一个实例;2、当我们在应用中遇到功能性冲突的时候,需要使用单例模式 保证独一无二
委派模式 Delegate 1、两个参与角色:委托人和被委托人;2、委托人和被委托人在权利上完全平等(即实现同一个接口);3、委托人持有被委托人的引用;4、不关心过程,只关心结果。 干活是你的(普通员工),功劳是我的(项目经理)
策略模式 Strategy 1、最终执行结果是固定的;2、执行过程和执行逻辑不一样 我行我素,达到目的就行
原型模式 Prototype 1、首先有一个原型;2、数据内容相同,但对象实例不同(完全两个不同的内存地址) 拔一根猴毛,吹出千万个。
模板模式 Template 1、执行流程固定,但中间有些步骤有细微差别;2、可实现批量生产 流程标准化,原料自给加。
J2EE(企业级)WEB2.0(只需要敲一个URL(统一资源定位符))

WEB容器,安装在服务端
(URL ,跟我们的Servlet建议一一对应,多对一的关联)
Servlet(全称,Server Applet 服务小程序)
servlet-api.jar

容器(装东西的就叫容器,用来装Servlet) doGet、doPost

Struts
MVC框架就产生了(Struts,你只要配置一个Filter,用来拦截所有的url请求)
实现一个自己的容器,把用户请求的url映射成某一个类(普通的类)web/usergetList.do
以后增加需求,需要增加一个类或者一个方法就ok,不要反复地修改web.xml。
Action Form(每个url都要写两个类,新的麻烦)

------
SpringMVC的基本原理:
SpringMVC 把一个URL映射某一个类的某个方法,传参变为一个自动ORM(简化开发)

你可能感兴趣的:(Spring)