玩转Spring框架教程04之Spring IOC初体验
欢迎进群交流(QQ群:655019021)
Spring IOC初体验
Spring容器管理Bean,对Bean对象的实例化,Bean为单位代表某一个资源或某一个组件;
Spring管理Bean两种方式
第一种 使用配置文件方式实现
第二种 使用注解方式实现
Spring IOC容器实现
Spring 容器是spring的核心之一,提供了两种容器实现BeanFactory和ApplicationContext两大核心接口。其作用都是生成Bean实例工厂,管理对象生命周期。
BeanFactory:
早期版本的容器比较基础,不支持Spring新特性,如AOP、web应用等;
BeanFactory在容器启动时不会初始化对象实例,等后期调用getBean()方法再初始化对象实例,在初始化阶段性能较好。
ApplicationContext:
继承BeanFactory接口,提供更多的扩展和高级特性,在开发中建议使用ApplicationContext;
ApplicationContext会在容器启动时初始化所有单例的Bean实例,在初始化阶段可能造成系统开销较大,但是后面获单例的Bean实例时不会重新初始化,对于后期性能较好。
ApplicationContext在<bean>标签可以lazy-init属性为true表示初始化系统时不加载。
在实际开发中一般使用ApplicatonContext
ApplicationContext接口实现类:
ClassPathXmlApplicationContext:从类路径下加载配置文件
从当前类路径下加载配置文件,classpath: 可以省略掉
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:ApplicationContext.xml");
FileSystemXmlApplicationContext:从文件系统中加载配置文件
指定配置文件绝对路径,File可以省略掉
ApplicationContext context1= newFileSystemXmlApplicationContext("File:D:\\works\\itcodeschool-spring\\Spring-01\\src\\ApplicationContext.xml");
BeanFactory类中方法
BeanFactory容器接口的继承体系图
Bean对象实例化的方式
创建User类,用User类来进行演示
省略get/set/toString方法
静态工厂方式(了解即可)
1、创建工厂类,在工厂类提供静态的方法,方法返回类对象
2、配置文件
3、测试
实例工厂(了解即可)
1、创建工厂类,提供普通方法返回对象
2、配置文件
3、测试
无参构造(重点掌握)
1、配置文件
2、测试