【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

思考思路:

1 为什么要把创建对象的方式交给spring配置

DI区别

(1)IOC: 控制反转,把对象创建交给spring进行配置
(2)DI: 依赖注入,向类里面的属性中设置值
(3)关系:依赖注入不能单独存在,需要在ioc基础之上完成操作

spring 主要解决的问题一:去除原始的创建的对象的方法,采用xml的方式,可以降低了类与类之间的耦合性,创建含有无参数构造方法的对象

第一步 创建spring配置文件

创建spring配置文件,配置创建类

(1)spring核心配置文件名称和位置不是固定的

- 建议放到src下面,官方建议applicationContext.xml  不一定非得起这个名字叫什么都是可以的

(2)引入schema约束

【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

一般是在文章的最后

【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

第二步

为什么要使用配置的方式用ioc 主要的原因就是老的工厂模式就是产生耦合性的主要原因

【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

Bean实例化的方式一:创建含有无参数类的对象 

【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

 

【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

 【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

 

创建无参数的构造方法遇到的问题

如果在java 类中含有了有参数的构造方法,那么就没有了无参数的构造方法,需要自己创建无参数的构造方法,上面的配置文件要调用无参数的构造方法,类里面没有无参数的构造,出现异常

【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

Bean实例化的方式二:使用静态工厂创建

(1)创建静态的方法,返回类对象

【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

 【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

Bean实例化的方式三:使用实例工厂创建

(1)创建不是静态的方法,返回类对象

 【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

 【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

spring解决解决的主要问题二(1): 属性的注入

属性的注入

1 使用有参数的构造方法的注入(传统方式和xml 对比)

2 使用set 方法对于属性的注入

  1) 传统方法使用set 方法对于属性的注入

  2) 采用xml 配置的方式进行属性注入

         普通属性

         复杂属性

         对象的注入(采用xml 配置方法和注解方法)

   1 使用有参数的构造方法的注入    

【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

 

【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

 【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)

【为什么学习spring 和spring主要解决的问题1,2】:1 创建对象采用xml 的方法(ioc) 2 属性和对象注入也采用xml 的配置(依赖注入DI)