SpringBean的生命周期

简介: SpringBean的生命周期

  SpringBean用起来很方便,自动实例化对象,直接使用即可。你知道Bean对象生成和销毁是经过重重方法的吗,下面流程图中,每一个流程都有之对应的一个方法。

  我们可以通过实现接口重写方法来自定义每个方法的实现。

public class PersonBean implements InitializingBean, BeanFactoryAware, BeanNameAware, DisposableBean {
    /**
     * 身份证号
     */
    private Integer no;
    /**
     * 姓名
     */
    private String name;
    //最先走的方法就是调用构造函数,创建具体对象
    public PersonBean() {
        System.out.println("1.调用构造方法:我出生了!");
    }
    public Integer getNo() {
        return no;
    }
    public void setNo(Integer no) {
        this.no = no;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
        System.out.println("2.设置属性:我的名字叫" + name);
    }
    //BeanNameAware接口,通过这个接口设置bean的id
    @Override
    public void setBeanName(String s) {
        System.out.println("3.调用BeanNameAware#setBeanName方法:我的bean的名字叫做" + s);
    }
    //    BeanFactoryAware 用于注入BeanFactory对象,能访问创建对象的BeanFactory。
    @Override
    public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
        System.out.println("4.调用BeanFactoryAware#setBeanFactory方法:注入BeanFactory对象");
    }
    //    InitializingBean 接口
    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println("6.InitializingBean#afterPropertiesSet方法:开始初始化");
    }
    //在创建bean的时候,会走这个对应的初始化方法
    public void init() {
        System.out.println("7.自定义init方法:自定义初始化");
    }
    //销毁一个bean对象
    @Override
    public void destroy() throws Exception {
        System.out.println("9.DisposableBean#destroy方法:开始销毁");
    }
    public void destroyMethod() {
        System.out.println("10.自定义destroy方法:自定义销毁");
    }
    public void work() {
        System.out.println("Bean使用中~~~~");
    }
}

  客户端和最终实现:

相关文章
|
Java
JVM深入学习(十八)-如何查询当前jvm使用的垃圾回收器
如何查看使用的jdk用的垃圾回收器类型?
1209 0
|
Java Docker 微服务
如何使用Docker和Docker Compose部署微服务
【2月更文挑战第12天】
1287 0
|
9月前
|
存储 监控 架构师
ZGC圣经:ZGC垃圾回收器的原理、调优,ZGC 漏标的 分析与 研究
ZGC圣经:ZGC垃圾回收器的原理、调优,ZGC 漏标的 分析与 研究
|
前端开发 Java 应用服务中间件
|
存储 算法 Java
JVM垃圾收集-ZGC的染色指针
垃圾收集是回收以前分配的内存的机制, 以便将来的内存分配可以重用它。
1285 0
JVM垃圾收集-ZGC的染色指针
|
监控 Java 数据库
java线上服务问题排查总结
java线上服务问题排查 1、业务日志相关 如果应用系统出现异常,一般都会在业务日志中体现 查看日志问题常用命令,以标装springboot应用为例: 进到标装日志目录:cd /wls/applogs/rtlog/spri* --善用tab键 统计当天业务日志中ERROR出现数量:egre.
47519 0
|
存储 运维 Oracle
JDK1.8为什么使用元空间代替了永久代
JDK1.8为什么使用元空间代替了永久代
|
存储 算法 Java
12 张图带你彻底理解 ZGC
12 张图带你彻底理解 ZGC
911 1
12 张图带你彻底理解 ZGC
|
存储 关系型数据库 数据库
PostgreSQL集群篇——1、PG环境安装(一)
PostgreSQL,PG,集群,DBA,架构师,PG安装,编译安装
1013 0
PostgreSQL集群篇——1、PG环境安装(一)
|
监控 Oracle druid
Springboot2.1.9+druid+mybatits(不重启项目动态添加mysql和oracle数据源)和数据监控
Springboot2.1.9+druid+mybatits(不重启项目动态添加mysql和oracle数据源)和数据监控
426 0

热门文章

最新文章