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

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容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
相关文章
|
8月前
|
XML Java 数据格式
Spring注解开发
Spring注解开发是指使用注解来配置和管理Spring框架中的各种组件和功能。通过使用注解,我们可以在代码中直接声明和配置Spring的bean、依赖注入、AOP切面等,并且减少了传统XML配置文件的使用。
49 0
|
8月前
|
Java 编译器 程序员
java注解浅述
java注解浅述
57 1
|
8月前
|
NoSQL Java Redis
有关@PostConstruct的一些具体使用心得
有关@PostConstruct的一些具体使用心得
65 0
|
8月前
|
Java
SpringAop切面编程(一看就会用)
SpringAop切面编程(一看就会用)
30 0
|
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中的管理(第十一课)
208 0
|
XML Java 数据格式
Spring注解开发(一)
Spring注解开发(一)
|
Java Spring 容器
Spring注解开发(二)
Spring注解开发(二)
|
XML 设计模式 前端开发
马上2023年了,你还不会使用Spring注解开发吗?
1.导入bean 首先,Spring xml配置文件,扫描指定包下面的注解,使注解生效:
116 0
|
JSON 前端开发 JavaScript
SpringMVC - @RequestJson之HandlerMethodArgumentResolver 从入门到青铜(一)
SpringMVC - @RequestJson之HandlerMethodArgumentResolver 从入门到青铜(一)
282 0
SpringMVC - @RequestJson之HandlerMethodArgumentResolver 从入门到青铜(一)