关于spring 的初始化

鉴于在编程时候,启动时候过于依赖经验,缺乏对框架知识的了解,初始化时候使用直接引用代码形式去初始化某些资源,而不是使用spring提供的方式去初始化。
原代码:
    @SpringBootApplication
public class TestApplication implements CommandLineRunner {
    public static void main(String[] args) {
        VirtualDataUtil.initVirtualData(); //用于初始化某些数据
        SpringApplication.run(TestApplication .class, args);
    }
}
虽然VirtualDataUtil.initVirtualData()确实可以在这样初始化数据,但是长远来说会造成代码的混乱。spring对bean的生命周期操作提供了支持,有java配置以及注解配置,本次只说一下注解说明。
注解方式有:@PostConstruct和@PreDestroy,@PostConstruct是在构造函数执行完之后执行,@PreDestroy是在bean销毁之前执行。
本次例子仅用注解注入,不使用xml配置  
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

import org.springframework.stereotype.Component;

@Component
public class PersonService {
    private String message;

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    @PostConstruct
    public void init() {
        System.out.println("I'm  init  method PostConstrut...." + message);
    }

    @PreDestroy
    public void dostory() {
        System.out.println("I'm  destory method @PreDestroy....." + message);
    }
}
@SpringBootApplication
public class TestApplication implements CommandLineRunner {
    public static void main(String[] args) {
        SpringApplication.run(TestApplication .class, args);
    }

启动spring项目,会出现
这里写图片描述

然后在某些类执行其dostory方法,销毁bean前:

/**
 *
 */
@Component("qianhaiCreditGatewayService")
public class QianhaiCreditGatewayServiceImpl {
    @Autowired
    PersonService personService;
    /**
     * 测试
     * 
     * @param request
     * @return
     */
    @Override
    public String querySomething(String data) {
        personService.dostory();
        return data;
    }
}

这里写图片描述

编程之路漫漫悠长,不断学习才能不会落后,此文章只是简单讲了一下初始化的其中一个操作,如果有更好的做法或者此次做得不足的,请指点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值