@PostConstruct注解及用处示例

本文详细介绍了Spring框架中的@PostConstruct注解,它用于标记在Bean初始化后立即执行的方法。该方法通常用于进行一些必要的初始化工作,如设置本地缓存。在示例中,展示了如何使用@PostConstruct初始化Guava Cache,确保在服务器启动时完成配置。了解@PostConstruct的工作原理和使用场景对于优化应用的初始化过程至关重要。
摘要由CSDN通过智能技术生成

注解解释

  • @PostConstruct注解在方法上,表示此方法是在Spring实例化该Bean之后马上执行此方法,之后才会去实例化其他Bean
  • 一个Bean中@PostConstruct注解的方法可以有多个。
  • @PostConstruct该注解被用来修饰一个非静态的void()方法。
  • 被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。

用处

@PostConstruct注解Bean中的某些方法,可以用在服务器启动时的做一些初始化工作。 

原理 

BeanPostProcessor有个实现类CommonAnnotationBeanPostProcessor,就是专门处理@PostConstruct  @PreDestroy注解。

示例

初始化本地缓存(guava) 

@Slf4j
@Component
public class LocalCache {

    private Cache<String,PmsProductParam> localCache = null;

    @PostConstruct
    private void init(){
        localCache = CacheBuilder.newBuilder()
                //设置本地缓存容器的初始容量
                .initialCapacity(10)
                //设置本地缓存的最大容量
                .maximumSize(500)
                //设置写缓存后多少秒过期
                .expireAfterWrite(60, TimeUnit.SECONDS).build();
    }


    public void setLocalCache(String key,PmsProductParam object){
        localCache.put(key,object);
    }

    public PmsProductParam get(String key){
       return localCache.getIfPresent(key);
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值