场景
①我需要在一个singleton的类中(一下简称 A) 把数据库中的一些信息,在服务器启动后, 初始化到缓存当中
需要注意的地方
①既然是数据库中的数据 则需要使用连接池
②服务器一启动就需要去查询,这样就需要spring bean 容器初始化的时候进行
综上所述 则是,在我执行这个方法的时候,需要拿到数据库连接和缓存对象,原来我是想在A构造方法里面去执行,后来发现我没有充分了解spring bean 声明周期,我需要等待所有属性都被注入值之后 才可以执行我的方法,所以我实现了InitializingBean 类,重写了afterPropertiesSet 方法,在这个方法执行的时候,已经是A中所有属性被注入完成的时候了
其实还有其他的方法 比如 在配置文件中 指定init-method,这个我没有自己亲身去体验,有兴趣的可以自己去试一下