文档章节

Java工具类中注入Bean

666B
 666B
发布于 2016/03/01 14:40
字数 233
阅读 214
收藏 1
  • 需求描述:

编写一个操作Redis的工具类,在该类中需要注入org.springframework.data.redis.core.RedisTemplate ,然后在static方法中调用 redisTemplate

  • 解决方法:

  1. 为静态属性设置非静态的setter
    在RedisUtil中添加如下代码:
private static RedisTemplate<String, Object> redisTemplate;
public void setRedisTemplate(RedisTemplate<String, Object> redisTemplate){
    RedisUtil.redisTemplate = redisTemplate;
}

但是这样做需要一个揭露该setter的bean实例(笔者注:该方法还没实践过,方法2是可行的)。

  1. 通过org.springframework.beans.factory.config.MethodInvokingFactoryBean 来调用一个静态setter
    在RedisUtil中添加如下代码:
private static RedisTemplate<String, Object> redisTemplate;    
public static void setRedisTemplate(RedisTemplate<String, Object> redisTemplate){
    RedisUtil.redisTemplate = redisTemplate;
}

在配置文件中添加如下配置:

<bean
		class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
		<property name="staticMethod" value="org.project.utils.RedisUtil.setRedisTemplate" />
		<property name="arguments">
			<list>
				<ref bean="redisTemplate" />
			</list>
		</property>
</bean>```

- ###参考:
1. [How to make spring inject value into a static field](https://stackoverflow.com/questions/11324372/how-to-make-spring-inject-value-into-a-static-field)

- ###补充:
欢迎大家分享你的想法和实践。

© 著作权归作者所有

666B
粉丝 33
博文 96
码字总数 36218
作品 0
深圳
程序员
私信 提问
加载中

评论(1)

k
kd122
谢谢dalao
IOC/AOP工具 - jBeanBox

jBeanBox是一个微形但功能较齐全的IOC/AOP工具适用于JAVA7+,利用了Java的初始化块实现的Java配置代替XML。jBeanBox采用Apache License 2.0开源协议。 其他一些IOC/AOP框架的问题: 1)Sprin...

yong9981
2016/07/25
3.2K
15
Java 字节码工具 ASM 在 web services 开发中的应用

在基于 JAX-WS 标准的 web services 的开发中,不少实际场景都是希望采用自底向上的开发方式, 即基于已有的 Java bean 来创建 web services 。WebSphere Application Server ( 以下简称 WA...

IBMdW
2011/09/26
2.1K
2
spring oxm入门(包含demo)

O/X Mapper 是什么? Spring 3.0 的一个新特性是 O/X Mapper。O/X 映射器这个概念并不新鲜,O 代表 Object,X 代表 XML。它的目的是在 Java 对象(几乎总是一个 plain old Java object,或简...

疯狂的兔子
2014/09/09
13.4K
0
spring ioc注解 IOC

@Autowired 1、Spring 通过一个 BeanPostProcessor 对 @Autowired 进行解析,所以要让 @Autowired 起作用必须事先在 Spring 容器中声明 AutowiredAnnotationBeanPostProcessor Bean。 Java代...

五大三粗
2015/11/02
467
0
【第三章】 DI 之 3.1.2 DI的配置使用 ——跟我学spring3

3.1.4 注入常量 注入常量是依赖注入中最简单的。配置方式如下所示: java代码: 查看复制到剪贴板打印 <property name="message" value="Hello World!"/> 或 <property name="index"><value>......

azikaxu
2015/04/15
9
0

没有更多内容

加载失败,请刷新页面

加载更多

64.监控平台介绍 安装zabbix 忘记admin密码

19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍: 常见开源监控软件 ~1.cacti、nagios、zabbix、smokeping、ope...

oschina130111
今天
13
0
当餐饮遇上大数据,嗯真香!

之前去开了一场会,主题是「餐饮领袖新零售峰会」。认真听完了餐饮前辈和新秀们的分享,觉得获益匪浅,把脑子里的核心纪要整理了一下,今天和大家做一个简单的分享,欢迎感兴趣的小伙伴一起交...

数澜科技
今天
7
0
DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN

本文作者:PETER LAI ,是 Diode 的区块链工程师。在进入软件开发领域之前,他主要是在做工商管理相关工作。Peter Lai 也是一位活跃的开源贡献者。目前,他正在与 Diode 团队一起开发基于区块...

红薯
今天
12
0
CC攻击带来的危害我们该如何防御?

随着网络的发展带给我们很多的便利,但是同时也带给我们一些网站安全问题,网络攻击就是常见的网站安全问题。其中作为站长最常见的就是CC攻击,CC攻击是网络攻击方式的一种,是一种比较常见的...

云漫网络Ruan
今天
12
0
实验分析性专业硕士提纲撰写要点

为什么您需要研究论文的提纲? 首先当您进行研究时,您需要聚集许多信息和想法,研究论文提纲可以较好地组织你的想法, 了解您研究资料的流畅度和程度。确保你写作时不会错过任何重要资料以此...

论文辅导员
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部