new 创建的对象,通过注入方式获取RedisTemplate,报空指针异常
有一次需要使用RedisTemplate,通过@Autowired方式注入,使用的时候一致报空指针,后来发现该对象由于业务关系时new 来的,无法获取spring容器对象
使用工具类
@Component
public class SpringUtils implements ApplicationContextAware {private static ApplicationContext applicationContext = null;@Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {SpringUtils.applicationContext = applicationContext;}public static <T> T getBean(Class<T> cla) {return applicationContext.getBean(cla);}public static <T> T getBean(String name, Class<T> cal) {return applicationContext.getBean(name, cal);}public static String getProperty(String key) {return applicationContext.getBean(Environment.class).getProperty(key);}
}
## 在你需要使用某个对象,而不能通过注入的方式从spring容器中获取时候,就可以使用一下方案
比如我使用 spring的 RedisTemplate,但是这个类是通过new 对象创建的,那就可以用一下方法从spring容器中获取```RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
new 创建的对象,通过注入方式获取RedisTemplate,报空指针异常相关推荐
- 【Spring 工厂】反转控制与依赖注入、Spring工厂创建复杂对象3种方式
反转控制与依赖注入 反转控制 与 依赖注入 反转控制(IOC Inverse of Control) 依赖注入 (Dependency Injection - DI) Spring工厂创建复杂对象(3 ...
- 静态代理和依赖注入方式获取网店管家查询仓库信息接口
请求的URL地址http://localhost/tp5.1/public/index.php/index/wdgj/wdgjwarehouselistGet?page=1&pageSize= ...
- JavaScript实现创建自定义对象的常用方式总结
2019独角兽企业重金招聘Python工程师标准>>> 1. 对象字面量方式 对象字面量方式是创建自定义对象的首选模式,简单方便. var per = { name:'zhangsa ...
- spring中依赖注入方式总结
文章来源于今日头条用户:分布式系统架构 一.注解注入 注解注入在Spring中是用的最多的一种方式,就是在java代码中使用注解的方式进行装配,在代码中加入@Resource或者@Autowired. ...
- Spring Bean四种注入方式(Springboot环境)
阅读此文建议参考本人写的Spring常用注解:https://blog.csdn.net/21aspnet/article/details/104042826 给容器中注册组件的四种方法: 1.@C ...
- (包教包会)使用网络爬虫的方式获取国内376个城市的每日天气情况,并实现自动给自己发邮件
主要功能 选择全国376个城市为样本,使用网络爬虫的方式从"天气网"(http://www.weather.com.cn)快速获取当日的天气情况,并实现自动化给自己邮箱发送统计结果 ...
- spring boot整合Quartz 在Job类中注入其他对象报空指针异常java.lang.NullPointerException at com.sxt.quartz.QuartzDemo.e
情况在Job 类中注入RedisTemplate 报空指针异常 原因:我们使用JobDetailFactoryBean 帮我们创建对象 实际上调用的是AdaptableJobFactory 下的这个方 ...
- JDBC 创建连接对象的三种方式 、 properties文件的建立、编辑和信息获取
创建连接对象的三种方式 //第一种方式Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/m ...
- 【Spring 基础注解】对象创建相关注解、注入相关注解、注解扫描详解
Spring 基础注解(2.x) 注解基础概念 注解的作用 Spring 注解的发展历程 对象创建相关注解 @Component @Repository.@Service.@Contoller @Sc ...
最新文章
- 如何快速实现物联网行业中的实名认证
- python --异常处理
- python好用-Pyzo -- 好用的 Python 轻量级 IDE
- 自考护理学计算机考试时间,护理学专业2019年10月江苏自考科目及考试时间安排...
- Spring注解之@validated的使用
- Oracle中使用Table()函数解决For循环中不写成 in (l_idlist)形式的问题
- Swift--字符串和字符(二)
- 接收并解析消息体传参、解析 json 参数
- sqlserver 没有维护计划_制定数据库备份计划,不再为数据丢失闹心!
- zabbix监控某个进程个数时产生的issue
- phpstorm连接不上MySQL_PHPStorm无法连接到本地MySQL [重复]
- 百度富文本编辑器的宽度自适应
- 2022 DSCTF首届数字空间安全攻防大赛 部分题解
- 51单片机自学笔记引脚
- Apache Tomcat 历史版本下载地址 官网地址
- vue中watch进行ajax,vue watch自动检测数据变化实时渲染的方法
- 高德地图python爬虫 商家_Python3 | 通过百度地图API获取商家详细信息
- Ping++ 牵手招商银行,正式为商户开放一网通支付渠道
- Chrome 开发者工具新功能-网络面板新增载荷(Payload)边栏
- windows下的网络配置
热门文章
- 大智慧新一代公式编辑语法大全
- SAP中生产成本收集器控制级别变更实例
- 网关——Kong学习
- android 视频通话开启呼叫等待后,来第三方的视频通话,接通后通话时间一直显示为0,过几秒之后视频通话自动挂断
- 甲骨文全球裁员:“断臂求生”,拼云计算
- 知道这5个隐藏资源网站的人非常少,难怪总是找不到资源!
- excel下拉速度太慢_excel表格很卡怎么办?:excel数据表格下拉卡顿
- 超级搜索 v1.0.1(附带 插件开发模板)
- Linux 中 exit 的意思
- 昨夜今天Tech圈:郭明錤预计苹果明年推两款5G iPhone 平井一夫正式退休