2018-10-22:Spring初步介绍
2018-10-25 本文已影响0人
神坛下的我
Spring
- 代码之间耦合大大降低
原来如果一个类作为另外一个类的成员变量,无论是成员变量直接初始化,还是构造方法初始化,这两个类的关系是固定的,意味如果还有第三个合适的类可以替代,类作为类的成员变量完成功能,需要修改代码。
而Spring不直接声明类和类的直接初始化关系,而是在使用的时候,根据使用要求来初始化,并关联关系。 - IOC
inverse of controller
控制反转,对象的生成权由代码反转给了容器,容器决定这个对象什么时候生成,以及对象和对象的组成关系,以及对哪些对象进行组合。 - applicationContext.xml
<bean name class><property name value><property name ref></bean>
- DI
dependency Injection
依赖注入
don't call me,i will call you. - DL
lookup
依赖查找 - org.springframeword.context.ApplicationContext
- 拿到容器
ApplicationContext context = new FileSystemXmlApplicationContext("src/applicationContext.xml");
- 向容器拿对象
context.getBean();
- 自动装配autowire
- factorybean和beanfactory
产品与工厂的关系
spring提供了大量的工厂bean,使得我们对象属性可以拆解成普通对象,传递给其他对象引用。 - 工厂模式
- 简单工厂
工厂类里面有switch case来判断产品的类别,需要产品的时候需要传参,产品无法扩展。 - 工厂方法
工厂里有switch case或者if else,但是产品是同一大类,自动匹配类型对应生产。 - 抽象工厂
工厂方法的升级,多个工厂的接口,集成一个接口组合,根据需要调用不同的接口。