一.使用spring的作用时将高耦合的实例化交给spring的配置文件执行
1.配制三种对象的方法:
普通类
第一种:需要对象具有无参构造,id只等名称,class:指定全类型
第二种:创建静态方法,根据id指定别名,clas指定全类
名,factory-method指定静态方法
第三种:创建普通方法,先创建工厂类写入一个返回所需类
的方法,
创建对象的方法,factory-bean绑定工程id,facrory-method是返回对象的方法
2.Bean对象的单例多例:
默认bean对象是单例模式,初始化时创建,只创建一次一个。多例模式,在调用时创建,创建多个对象(原因是:由于单例只有一个对象,创建对象时再创建白白浪费资源,多例初始化时创建多创建一次,浪费效率)
3.Bean对象的声明周期
单例对象容器销毁时消亡,多例对象等垃圾回收
二.Bean对象的创建
1.获取ioc容器对象后getBean方法可以指定返回值类型,不指定默认是object指定后返回指定字节码的对象
三.依赖注入
1.被调用注入的类提供构造方法
配置文件中调用该类,constructor-arg给构造方法中的属性赋值(不太常用)
2.set方法注入
被注入的属性提供set方法,配置文件中,property的name属性名必须是其set方法去掉set的首字母小写方法
3.p标签
指定的类属性对象必须提供了set方法,配置文件中引入xmlns:p
四、复杂依赖注入
List、set、Array类型相同所有可以通过同一种方法注入
Map和props是一种可以通过同一种
并列引入xml文件
引入properties
@Transactional
配置事务管理注解
ReadOnly是否只读true只读,false读写
Propagation=REQUIRED如果有事务加入事务没有创建
SUPPORTS不为这个容器开启事务
设置事务管理器,开启事务管理注入dataSource跨库调用会失效
BeanFactory:读取配文件,创建对象时,采用的创建策略是延时加载,使用时创建
ApplicationContext:读取配置文件时,采用创建对象策略,立即加载
读完配置文件马上创建,同时支持延迟加载,自动选择单例或多例
classpathXMlApplicationContext:读取类文件的实现类
FileSystemXmlApplicationContext:读取磁盘下的xml配置文件