Spring容器启动过程

来源:互联网 发布:网站访客qq获取源码 编辑:程序博客网 时间:2024/06/09 22:22
1、Spring容器的启动流程
Spring容器创建容器中的对象(执行构造函数)②给对象的属性赋值(get或set方法)③ 调用init方法(init方法)    ④contextgetBean方法把对象提取出来,调用业务逻辑方法⑤当容器关闭的时候,执行destroy方法

2、代码如下
com.itheima.spring.initdestroy.helloworld.java
  1. package com.itheima.spring.initdestroy;
  2. public class helloworld {
  3. private String name;
  4. public String getName() {
  5. return name;
  6. }
  7. public void setName(String name) {
  8. this.name = name;
  9. System.out.println("set函数");
  10. }
  11. public helloworld(){
  12. System.out.println("构造函数");
  13. }
  14. public void init(){
  15. System.out.println("init");
  16. }
  17. public void destroy() {
  18. System.out.println("destroy");
  19. }
  20. public void hello() {
  21. System.out.println("你好");
  22. }
  23. }

com.itheima.spring.initdestroy.test.initdestroyTest.java
  1. package com.itheima.spring.initdestroy.test;
  2. import org.junit.Test;
  3. import org.springframework.context.ApplicationContext;
  4. import org.springframework.context.support.ClassPathXmlApplicationContext;
  5. import com.itheima.spring.initdestroy.helloworld;
  6. public class initdestroyTest {
  7. @Test
  8. public void test() {
  9. ApplicationContext context =
  10. new ClassPathXmlApplicationContext("applicationContext.xml");
  11. helloworld helloworld1 = (helloworld)context.getBean("helloworld");
  12. helloworld1.hello();
  13. //Spring 容器关闭
  14. ClassPathXmlApplicationContext applicationContext = (ClassPathXmlApplicationContext)context;
  15. applicationContext.close();
  16. }
  17. }

applicationContext.xml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
  6. <!--
  7. 初始化方法:在构造函数执行之后,执行初始化方法
  8. init-method
  9. 销毁方法:在spring容器关闭时,自动执行销毁方法
  10. destroy-method
  11. -->
  12. <bean id="helloworld" class="com.itheima.spring.initdestroy.helloworld"
  13. init-method="init" destroy-method="destroy"></bean>
  14. </beans>
运行结果:
  1. 构造函数
  2. set函数
  3. init
  4. 你好
  5. destroy
(附件:有关Spring IOC的代码)
0 0
原创粉丝点击