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

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 有关@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
相关文章
|
28天前
|
Java 微服务 Spring
手把手教你实现@RefreshScope注解
【10月更文挑战第16天】 在Spring Cloud中,@RefreshScope注解被广泛用于动态刷新配置。当我们修改了配置文件中的值,并且希望这些更改在不重启应用的情况下立即生效时,这个注解就显得尤为重要。本文将带你一步步实现一个简单的@RefreshScope功能。
48 5
|
5月前
|
数据采集 前端开发 Java
@ControllerAdvice:你可以没用过,但是不能不了解
`@ControllerAdvice` 是 Spring MVC 中用于定义全局行为的注解,如异常处理、数据绑定和预处理。它从 `@Component` 派生,确保被扫描并纳入容器。`@ExceptionHandler` 用于全局异常处理,提供统一的错误响应。例如,当处理不当的异常时,它能返回友好的错误信息。`@InitBinder` 在数据绑定前对参数进行处理,如格式转换。`@ModelAttribute` 可以用于全局绑定模型属性,如登录用户信息。Spring MVC 通过 `DispatcherServlet` 和 `HandlerAdapter` 在请求处理流程中应用这些全局配置。
76 3
@ControllerAdvice:你可以没用过,但是不能不了解
|
6月前
|
Java
【Java开发指南 | 第二十四篇】Java继承
【Java开发指南 | 第二十四篇】Java继承
52 0
|
6月前
|
Java Spring 容器
@PostConstruct注解学习,最详细的分享教程
@PostConstruct注解学习,最详细的分享教程
|
6月前
|
Java
SpringAop切面编程(一看就会用)
SpringAop切面编程(一看就会用)
24 0
|
6月前
|
NoSQL Java Redis
有关@PostConstruct的一些具体使用心得
有关@PostConstruct的一些具体使用心得
48 1
|
Java 数据库 Spring
Spring框架在Bean中的管理(第十一课)
Spring框架在Bean中的管理(第十一课)
204 0
|
消息中间件 JavaScript 小程序
项目终于用上了插入式注解,真香!
项目终于用上了插入式注解,真香!
项目终于用上了插入式注解,真香!
Java继承全攻略
Java继承全攻略
119 0
|
XML 安全 Java
关于spring中bean配置的几件小事
关于spring中bean配置的几件小事
关于spring中bean配置的几件小事