<!--創建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 具有啓動 刷新和關閉上下文的能力