有关@PostConstruct的一些具体使用心得

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 有关@PostConstruct的一些具体使用心得

有关@PostConstruct的一些具体使用心得

有关@PostConstruct的使用:

首先这个注解是由Java提供的,它用来修饰一个非静态的void方法。它会在服务器加载Servlet的时候运行,并且只运行一次。


我们项目中一定会用到的就是环境隔离以及Redis

下面就从这两个方面进行分析:


1、环境隔离:

假如你项目中有个发送短信的接口,需要进行环境的隔离,可以在配置中进行配置,然后在使用的时候进行

@Value("${spring.profiles.active}")
    private String environment;

以上方式可以获取到,但是不够优雅。


可以按照以下方式使用:

@Component
public class EnvironmentConstant {
    public static String env;
    @Value("${spring.profiles.active}")
    public String environment;
    @PostConstruct
    public void initialize() {
        System.out.println("初始化环境...");
        env = this.environment;
    }
}

然后就可以在需要使用的地方进行EnvironmentConstant.env的方式进行获取当前运行的环境了。


2、Redis使用

如果我们在使用redis的时候都是通过

@Autowired
    private RedisTemplate<Object, Object> redisTemplate;

的方式进行使用的话,那也难免是不够优雅的。


可以使用如下方式进行处理

@Component
public class RedisUtil {
    private static RedisTemplate<Object, Object> redisTemplates;
    @Autowired
    private RedisTemplate<Object, Object> redisTemplate;
    @PostConstruct
    public void initialize() {
        redisTemplates = this.redisTemplate;
    }
    /**
     * 添加元素
     */
    public static void set(Object key, Object value) {
        if (key == null || value == null) {
            return;
        }
        redisTemplates.opsForValue().set(key, value);
    }
    /**
     * 移除元素
     */
    public static void remove(Object key) {
        remove....
    }
}


在使用的时候直接RedisUtil.redisTemplates就可以获取到redis的实例。


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1天前
|
Java 微服务 Spring
手把手教你实现@RefreshScope注解
【10月更文挑战第16天】 在Spring Cloud中,@RefreshScope注解被广泛用于动态刷新配置。当我们修改了配置文件中的值,并且希望这些更改在不重启应用的情况下立即生效时,这个注解就显得尤为重要。本文将带你一步步实现一个简单的@RefreshScope功能。
12 5
|
5月前
|
NoSQL Java Redis
有关@PostConstruct的一些具体使用心得
有关@PostConstruct的一些具体使用心得
47 0
|
5月前
|
Java Spring 容器
@PostConstruct注解学习,最详细的分享教程
@PostConstruct注解学习,最详细的分享教程
|
5月前
|
Java
【Java开发指南 | 第二十四篇】Java继承
【Java开发指南 | 第二十四篇】Java继承
47 0
|
5月前
|
Java
SpringAop切面编程(一看就会用)
SpringAop切面编程(一看就会用)
23 0
|
11月前
|
JSON 安全 Java
SpringMVC之自定义注解(这期博客带你领略自定义注解的魅力)
SpringMVC之自定义注解(这期博客带你领略自定义注解的魅力)
63 0
SpringMVC之自定义注解(这期博客带你领略自定义注解的魅力)
|
11月前
|
Java Spring 容器
Spring源码:Bean生命周期(终章)
本系列前面讲解了Spring的bean定义、bean实例化、bean初始化等生命周期阶段。这些步骤使我们能够了解bean从创建到准备好使用所经历的过程。但是,除了这些步骤,bean的销毁也是非常重要的一步。在本系列的最后,我们将深入探讨bean的销毁过程,包括在什么情况下会发生销毁、销毁的顺序以及如何在bean销毁之前执行一些清理任务等。通过学习bean的销毁过程,我们将更全面地了解Spring的bean生命周期。在Spring中,有多种方式可以销毁bean。其中一种方式是在应用程序关闭时显式地调用`applicationContext.close()`方法来关闭容器。这个方法将会销毁所有还没
|
Java 数据库 Spring
Spring框架在Bean中的管理(第十一课)
Spring框架在Bean中的管理(第十一课)
202 0
|
设计模式 算法 Java
Sprin框架的学习(课时七)SpringAop的学习(一)
Sprin框架的学习(课时七)SpringAop的学习(一)
75 0
|
XML 缓存 安全
Sprin框架的学习(课时七)SpringAop的学习(二)
Sprin框架的学习(课时七)SpringAop的学习(二)
46 0