zoukankan      html  css  js  c++  java
  • 022 使用@Bean的属性完成初始化和销毁的指定

    一 .概述

    Bean的生命周期就是指,Bean的创建,初始化,销毁的整个过程.

    spring帮助我们实现整个过程,但是提供了很多的回调接口,我们

    可以自己定义这些方法.


     二 . 使用 init-method 来实现.

    组件:

    public class Person {
        
        public Person() {
            System.out.println("构造器在创建对象");
        }
        
        public void init() {
            System.out.println("我是init方法");
        }
        
        public void destroy() {
            System.out.println("我是销毁方法");
        }
    }

    配置类:

    @Configuration
    public class LifeConfig {
        
        @Bean(initMethod="init",destroyMethod="destroy")
        public Person person() {
            return new Person();
        }
    }

    我们使用@Bean注解的使用完成指定初始化和销毁方法.

    测试类:

    public class LifeTest {
        private static AnnotationConfigApplicationContext context = null;
        
        @Before
        public void init() {
            context = new AnnotationConfigApplicationContext(LifeConfig.class);
        }
        
        @Test
        public void test1() {
        }
        
        @After
        public void close() {
            context .close();
        }
    }

    这种方式很不错.没有什么侵入性,我们在@Bean注解上面完成了初始化和销毁的方法.


     三 .实现接口完成

    [1]初始化 实现InitializingBean接口

    [2]销毁实现 DisposableBean接口

    这里不做演示,因为侵入性的方式我们不喜欢用的.


     四 .使用JSR标准注解帮助实现

    其实这个是比较优雅的一种做法了.

    @PostConstruct

    @PreDestroy 

    前者表示在创建之后执行,后者表示在容器销毁执行.

  • 相关阅读:
    SQL中的选择判断
    Rsync
    LAMP性能优化的一些建议
    Toad9.7与Oracle11g在X86的Win7下的情况
    IIS中IUSR_和IWAM_:计算机名帐户的用户名和密码的用途
    winform编程中的跨线程访问资源(转)
    MSTDC服务的应用及相关错误的解决方案(转载)
    SQL Server 错误代码详解
    poj 1777梅森素数
    hdu 2815 baby_step c可为非素数
  • 原文地址:https://www.cnblogs.com/trekxu/p/9094876.html
Copyright © 2011-2022 走看看