理解spring:spring就是一个容器加一个工厂模式
工厂用来创建对象,容器用来保存对象,spring是一个容器,也是一个创建对象的工厂
spring三个核心功能
IOC
控制反转,创建对象,拿工厂模式来创建,从原来自己代码来管理,交给工厂来管理,
三种方式:
1.直接指向全类名,
2.自己定义factorybean和factorymethod
3.通过实现FactoryBean<T>接口,通过这样创建对象,一般用于第三方,eg:mybatis的SqlSessionFactoryBean直接获得SQLSessionFactory)
DI 设置属性用的
依赖注入(设置属性,second,三种DI方式:1、通过get、set进行属性设置,即依赖注入,注意是根据其方法名获取的,利用反射。基础类型-value
数组-array、list-list(为arrayList)、set-set(为LinkedHashSet)、map-map、
属性为自己创建的类时用ref连接定义的bean
2、通过构造器进行属性设置。constructor-arg
3、自动装配。autowired。可以根据名字或类型来装配,但类型时只能有且只有一个)