bean本质上就是对象:创建bean使用构造方法完成

在xml文件中配置bean
最后在test文件中编写java程序实现BookDaoImpl的调用执行
package AppTest;
public class App_01 {
public static void main(String[] args) {
// 加载配置文件
ApplicationContext apt = new ClassPathXmlApplicationContext("applicationContext.xml");
BookDao bookDao = (BookDao) apt.getBean("bookDao");
bookDao.run();
}
}
====================================
实现类已运行
this is BookDao ...
Process finished with exit code 0

在applicationContext.xml文件中配置bean
在test文件中编写java程序实现通过FactoryBean的形式创建实例化对象
package AppTest;
import com.Alvis.dao.BookDao;
import org.springframework.context.ApplicationContext;
public class App_01 {
public static void main(String[] args) {
// 加载配置文件
ApplicationContext apt = new ClassPathXmlApplicationContext("applicationContext.xml");
BookDao bookDao = (BookDao) apt.getBean("bookDao");
bookDao.run();
System.out.println("-----------------------------");
BookDao bookDao_factory = (BookDao) apt.getBean("bookDao_Factory");
bookDao_factory.run();
}
}
=================================
实现类已运行
this is BookDao ...
-----------------------------
实现类已运行
this is BookDao ...
Process finished with exit code 0

生命周期:从创建到消亡的完整过程
在applicationContext.xml中的bean里面配置init参数和destory参数
在test文件中编写java程序实现对PaperDaoImpl实现类的调用
此为PaperDaoImpl实现类:
此为test文件中的java主程序:
package AppTest;
import com.Alvis.dao.PaperDao;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App_02 {
public static void main(String[] args) {
// 加载配置文件
ClassPathXmlApplicationContext cpx = new ClassPathXmlApplicationContext("applicationContext.xml");
cpx.registerShutdownHook();
// 此时为ClassPathXmlApplicationContext的调用执行
PaperDao paperDao = (PaperDao) cpx.getBean("paperDao");
paperDao.run();
}
}
=======================================
实现类已运行
init 已执行
this is PaperDao...
destory 已执行
Process finished with exit code 0

bean的生命周期: