<!--创建bean
class:全类名
id:bean的名字(名字必须在ioc容器中唯一,如果没有spring会自动把名字定义为bean;id中可以定义多个名字用逗号,空格,分号隔开)
-->
<bean id="beasa" class='srping4.beas.beasa'><property name="name" value="吴彦涛"></property>
</bean>
//1.创建 spring ioc 容器 对象
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
//2.从ioc中获取bean对象;
beasa a=(beasa) applicationContext.getBean("beasa");
//3.调用方法
a.show();
ApplicationContext 代表spring ioc容器
BeanFactory 也能代表spring ioc容器
ClassPathXmlApplicationContext 就是ApplicationContext 的实现类
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
创建bean对象的时候会调用bean的配置文件,然后到beasa类调用初始化方法给他初始化,然后在调用beasa中的name的set方法给他赋值;(这个也是ioc的原理)
spring ioc容器中读取bean的实例之前,要先实例化bean;
实例化bean有两种方法:1.BeanFactory 是spring框架的基础设置,是spring的本身;
2.ApplicationContext面向spring开发者的;一般都用它;
ApplicationContext 主要的实现类有两个:ClassPathXmlApplicationContext//从类路径下加载配置文件
FileSystemXmlApplicationContext;//从文件系统中加载配置文件
ConfigurableApplicationContext扩展于ApplicationContext 新增了两个方法 refresh()和close(),让ApplicationContext 具有启动 刷新和关闭上下文的能力