Bean生命周期

Bean生命周期

Bean生命周期:

  1. 实例化(注意:实例化不等于初始化,实例化仅仅是分配了内存空间)
  2. 设置属性(为Bean的属性设置值和依赖注入(其他对Bean的引用))
  3. 初始化
    3.1 执行通知方法,通知别人这个Bean已经执行到了这一步,实现BeanNameAre等接口
    3.2 执行初始化的前置方法 有两种实现方式(在bean标签中定义init-method方法,或者使用@PostConstruct注解
    3.3 初始化方法
    3.4 初始化后置方法
  4. 使用Bean
  5. 销毁Bean,同样是两个实现方法(xml 中定义destroy-method 或者 使用@PreDestroy注解)

验证:

@Controller
public class StudentController implements BeanNameAware {
    private String name;
    public void setName(String name) {
        System.out.println("setName");
        this.name=name;
    }
    @PostConstruct
    public void postConstruct() {
        System.out.println("postConstruct");
    }

    @PreDestroy
    public void preDestroy() {
        System.out.println("preDestroy");
    }

    @Override
    public void setBeanName(String s) {
        System.out.println("setBeanName");
    }

    public void initMethod() {
        System.out.println("initMethod");
    }
    
}
    public class App {
        public static void main(String[] args) {
            ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-config.xml");
            StudentController st = applicationContext.getBean("studentController",StudentController.class);
            applicationContext.destroy();
        }
    }
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:content="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
    <content:component-scan base-package="com.lzh">
    </content:component-scan>
    <bean id="studentController" class="com.lzh.controller.StudentController" init-method="initMethod"
          destroy-method="preDestroy"></bean>
</beans>

结果:

在这里插入图片描述

符合预期

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值