【为什么学习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约束
一般是在文章的最后
第二步
为什么要使用配置的方式用ioc 主要的原因就是老的工厂模式就是产生耦合性的主要原因
Bean实例化的方式一:创建含有无参数类的对象
创建无参数的构造方法遇到的问题
如果在java 类中含有了有参数的构造方法,那么就没有了无参数的构造方法,需要自己创建无参数的构造方法,上面的配置文件要调用无参数的构造方法,类里面没有无参数的构造,出现异常
Bean实例化的方式二:使用静态工厂创建
(1)创建静态的方法,返回类对象
Bean实例化的方式三:使用实例工厂创建
(1)创建不是静态的方法,返回类对象
spring解决解决的主要问题二(1): 属性的注入
属性的注入
1 使用有参数的构造方法的注入(传统方式和xml 对比)
2 使用set 方法对于属性的注入
1) 传统方法使用set 方法对于属性的注入
2) 采用xml 配置的方式进行属性注入
普通属性
复杂属性
对象的注入(采用xml 配置方法和注解方法)
1 使用有参数的构造方法的注入