Spring中Bean的生命周期

bean生命周期:

创建、初始化、使用、销毁

方式一:

xml方式,代码如下:

init-method="myInit" destory-method="myDestroy"

注解:

@Bean(value="stu", initMethod="myInit", destoryMethod="myDestroy")
public Student myStudent(){

    Student  student  = new Student(10, "zs10", 23);
    Address address = new Address("xa02", "bj02");
    student.setAddress(address);
    return student;
}
public class Student {
    
    private String name;
    private Address address;

    public Student(String name, Address address) {
        this.name = name;
        this.address = address;
    }

    private void myInit() {
        System.out.println("bean初始化了");
    }

    private void myDestroy(){
        System.out.println("bean销毁了");
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", address=" + address +
                '}';
    }
}

方式二:

适用三层注解形式

java规范:JSR250

@PostConstrcut:相当于init

@PreDestroy:相当于destroy

步骤:

1、在相应的组件上加上@Component注解

2、在init方法加上@PostConstruct

3、在destroy方法加上@PreDestroy

方法三:

接口:适用于三层组件(扫描器+三层组件)

InitializingBean 初始化

DisposableBean 销毁

初始化:只需要实现InitialzingBean中的afterPropertiesSet()方法

销毁:实现DisposableBean中的destroy()方法

方法四:(给容器中所有bean加init和destroy方法)一个接口

接口:适用于三层组件

接口BeanPostProcessor:拦截了所有的bean

对需要改变初始化的bean进行操作

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值